跳到主要内容

逻辑规则

逻辑规则允许你使用 ANDORNOT 等逻辑运算符组合多个子规则。这提供了强大且灵活的流量路由能力。

AND

如果所有指定的子规则都匹配流量,则 AND 运算符匹配。

格式

AND, ({sub-rule 1}, {sub-rule 2}, ...), {target proxy}

OR

如果指定的子规则中有任何一个匹配流量,则 OR 运算符匹配。

格式

OR, ({sub-rule 1}, {sub-rule 2}, ...), {target proxy}

NOT

如果指定的子规则匹配流量,则 NOT 运算符匹配。

格式

NOT, ({sub-rule}), {target proxy}

参数

名称取值是否必选备注
typeAND, OR, NOT逻辑运算符类型。
sub-rules-要评估的规则列表(括在括号内)。
target proxy-配置文件中必须存在指定的代理或代理组。

示例

# 如果域名后缀是 'google.com' 且目标端口是 443,则匹配
AND, ((DOMAIN-SUFFIX, google.com), (DEST-PORT, 443)), Proxy

# 如果域名后缀是 'example.com' 或者是局域网 IP,则匹配
OR, ((DOMAIN-SUFFIX, example.com), (IP-CIDR, 192.168.0.0/16)), DIRECT

# 如果不是域名后缀 'apple.com',则匹配
NOT, ((DOMAIN-SUFFIX, apple.com)), Proxy

# 如果所有子规则都不匹配(例如:既不是 apple.com 也不是 google.com),则匹配
NOT, ((OR, ((DOMAIN-SUFFIX, apple.com), (DOMAIN-SUFFIX, google.com)))), Proxy

# 复杂嵌套:如果(来自特定子网)且(不是 apple.com),则匹配
AND, ((SRC-IP-CIDR, 192.168.1.0/24), (NOT, ((DOMAIN-SUFFIX, apple.com)))), Proxy

外部参考

更多详情,请参考 Surge 逻辑规则文档