在使用现代网络代理工具时,“分流规则(Rule-based Routing)”堪称整个系统的灵魂所在。优秀的分流策略能够让您的网络环境实现真正的“润物细无声”:访问淘宝、京东、B站、微信时享受本地宽带的千兆直连低延迟,完全不耗费代理流量;而在打开 Google、GitHub、YouTube、ChatGPT 时自动无缝调度至对应的高速海外专线。本文将拆解客户端规则引擎的底层执行逻辑,教您如何编写与定制专属的分流规则。
一、分流规则的核心执行原理:自顶向下的单向匹配
无论是在 Clash Verge Rev、Surge 还是 Shadowrocket 中,分流引擎对每一个出站网络连接的判定都严格遵循“自上而下、首个命中即中止”的线性规则:
- 当某个应用向目标地址发起请求时,分流引擎拿到目标域名(如
api.openai.com)或目标 IP 地址; - 引擎从配置文件的
rules:列表第一行开始,逐行向下比对; - 一旦某一条规则成功匹配,数据包立即按照该规则指定的策略(如走
DIRECT直连、走某个PROXY代理组,或REJECT拦截阻断)分发,后面的所有规则将不再被执行; - 如果遍历到最后一行仍未命中任何规则,则命中兜底的
MATCH规则。
二、常用核心规则类型深度解析
- DOMAIN-SUFFIX(域名后缀匹配):
匹配以指定字符串结尾的所有域名。例如上述规则会精准命中DOMAIN-SUFFIX,google.com,PROXYwww.google.com、mail.google.com以及google.com本身。这是日常使用频率最高的分流规则。 - DOMAIN-KEYWORD(关键词模糊匹配):
只要域名中包含该关键词(如DOMAIN-KEYWORD,github,PROXYgist.github.com或githubusercontent.com)均被命中。需注意避免填写过于宽泛的关键词造成误伤。 - IP-CIDR / IP-CIDR6(无类别域间路由网段匹配):
针对特定 IP 地址段进行判定。例如局域网私有地址(192.168.x.x、10.x.x.x)必须配置为IP-CIDR,192.168.0.0/16,DIRECT,no-resolveDIRECT直连。末尾添加no-resolve参数至关重要,可阻止客户端对域名强制提前发起 DNS 逆向解析,大幅降低本地查询开销。 - GEOIP(地理数据库归属地匹配):
利用内置的全球 IP 地理定位数据库(如 GeoIP2 / MMDB)。如果目标服务器归属于中国大陆 IP,直接走本地物理网卡直连。GEOIP,CN,DIRECT
肯の基 贴心指引:开箱即用,内置精细化预设分流
不想花费精力手动编写冗长的规则文件?“肯の基”所推荐的服务商为全平台客户端提供了标准化、经过长期检验的权威分流规则集,国内直连、海外加速、广告过滤一步到位。
获取预置规则优化订阅三、避免“分流事故”的三个黄金守则
很多用户反馈“为什么国内某个银行 App 打不开了”或“某国内网盘下载速度被限制”,往往是由于规则编写失误导致的:
- 守则 1:特定专有规则必须置于宽泛规则之上: 例如,若您希望让国内 Apple 音乐走直连,必须将
DOMAIN-SUFFIX,aaplimg.com,DIRECT放置在DOMAIN-SUFFIX,apple.com,PROXY之前,否则前置的代理规则会拦截所有子请求; - 守则 2:GEOIP,CN 务必靠近列表尾部: GEOIP 规则虽然极其便利,但对于部分海外使用了国内 CDN 边缘节点、或域名尚未完成 DNS 解析的场景,过早触发可能会导致非预期直连。最佳位置是在枚举完所有特定海外服务与拦截规则后,作为国内流量的统一收口;
- 守则 3:慎用纯全局模式(Global): 除非您在排查特定节点的单一网络故障,否则日常使用请务必常驻“规则模式(Rule)”。全局模式不仅会大量白白消耗您的付费套餐流量,更会导致国内微信、支付宝、银行等应用触发异地安全登录告警。