跳到主要内容

规则

Egern 支持多种类型的规则,可以用于控制网络流量的代理行为,同时可以用于阻止某些流量。

支持的规则

类型名称说明
domain域名完整匹配完全匹配域名
domain_keywork域名关键词匹配匹配含有输入关键词的域名
domain_suffix域名后缀匹配匹配输入后缀的域名
domain_regex域名正则匹配通过正则表达式匹配域名
geoipIP 国家编码匹配根据国家编码匹配IP地址
ip_cidrIPv4 范围匹配匹配指定IPv4地址范围
ip_cidr6IPv6 范围匹配匹配指定IPv6地址范围
url_regexURL 正则匹配通过正则表达式匹配URL
rule_set规则集合本地文件或远程文件
asnASN 规则匹配的 ASN 代码或者组织
default默认规则当其他规则都不匹配时应用此规则
  • match: 匹配值。
  • policy: 策略名称。决定了匹配的流量应该如何处理,例如代理服务器、策略组、直连或拒绝。此值如果是 DIRECT 则匹配的流量不通过代理连接,此值如果是 REJECT 则匹配的流量将被阻止。注意代理服务器和策率组的名称被应用在这里。
rules:
- domain:
match: www.google.com
policy: Proxy
- domain_keywork:
match: google
policy: Proxy
- domain_suffix:
match: google.com
policy: Proxy
- domain_regex:
match: google|gstatic|ytimg|youtube|ggpht
policy: Proxy
- geoip:
match: US
policy: Proxy
- ip_cidr:
match: 192.168.0.0/16
policy: DIRECT
- url_regex:
match: "https://www.google.com/"
policy: Proxy
- rule_set:
match: "./example.yaml"
policy: Proxy
- asn:
match: "1234"
policy: DIRECT
- default:
policy: DIRECT

在这个示例中,我们设置了多种类型的规则。例如,我们使用 domain 规则将 www.google.com 的流量代理,使用 domain_keyword 规则将所有包含 google 的域名的流量代理,使用 geoip 规则将来自美国的IP地址的流量代理,等等。默认规则是直连,这意味着当其他规则都不匹配时,流量将不经过代理直接连接。

规则集合

规则集合可以是本地文件或远程文件。规则集合允许你在多个配置文件中复用或共享规则。

类型名称
domain_set域名集合
domain_keyword_set域名关键词匹配集合
domain_suffix_set域名后缀匹配集合
domain_regex_set域名正则匹配集合
geoip_setIP 国家编码匹配集合
ip_cidr_setIPv4 范围匹配集合
ip_cidr6_setIPv6 范围匹配集合
url_regex_setURL 正则匹配集合
asn_setASN 规则集合

规则集合示例

domain_set:
- www.google.com
- www.youtube.com
domain_keyword_set:
- google
- youtube
domain_suffix_set:
- google.com
- youtube.com
domain_regex_set:
- google|gstatic|ytimg|youtube|ggpht
geoip_set:
- US
- UK
ip_cidr_set:
- 192.168.0.0/16
url_regex_set:
- "https://www.google.com/"

在这个示例中,我们为每种类型的规则集合设置了一些值。例如,我们的 domain_set 包含 www.google.comwww.youtube.com,这意味着当我们引用这个规则集合时,www.google.comwww.youtube.com 的流量将被匹配。同样,我们的 geoip_set 包含 USUK,这意味着当我们引用这个规则集合时,来自美国和英国的IP地址的流量将被匹配。