Clash 分流规则入门:rule-provider 与常用规则集

SuibianYun 编辑部 ·

讲清 Clash 规则的匹配顺序,以及 rule-provider 的 type、behavior、interval 字段,帮助你为机场订阅搭建清晰的分流配置。

规则是怎么匹配的

Clash 的 rules 列表从上到下依次匹配,命中第一条就执行对应策略,后面的不再看。所以顺序很关键:精确的规则放前面,范围大的放后面,最后用 MATCH 兜底。常见写法是先放直连的局域网与国内域名,再放需要代理的服务,最后 MATCH 指向默认代理组。

rule-provider 解决了什么问题

规则动辄成千上万条,全写在配置里既臃肿又难维护。rule-provider 允许把规则集放在单独的文件或远程地址,由内核定期拉取更新,主配置只需要写一行 RULE-SET 引用即可。

  • type:http 表示远程下载,file 表示读取本地文件
  • behavior:domain、ipcidr 或 classical,要与规则集内容类型一致
  • format:常见为 yaml 或 text,mihomo 还支持 mrs 格式
  • interval:更新间隔,单位为秒,不宜设置得过短

常用规则集怎么挑

社区里维护的规则集很多,一般按用途分为广告拦截、国内直连、流媒体、常见境外服务等。选用时看三点:是否仍在维护、behavior 是否与你的写法对应、体积是否合理。混用多个规则集时,要留意同一域名被重复收录导致冲突,顺序靠前者会生效。

mihomo 内核还支持 GEOSITE、GEOIP 这类内置数据库规则,写法更短,也可以与 rule-provider 配合。

容易踩的几个坑

最常见的是 behavior 填错,导致规则集加载成功却不生效;其次是远程规则集下载失败,需要给下载本身设置可用的代理方式,或先让规则集直连可达。修改后建议在客户端日志里查看某个域名命中了哪条规则,比反复猜测更快。

接下来读什么

分流只在流量进入 Clash 之后才起作用,哪些流量会进来,取决于接入模式,详见 Clash TUN 模式与系统代理模式的区别。如果你在路由器上运行,可以参考 OpenClash 配置思路;也可以先看 SuibianYun 机场评测,了解不同服务的接入方式差异。

常见问题

规则集更新失败会影响上网吗?

通常不会立刻影响,内核会继续使用本地已缓存的版本。但长期无法更新会让规则过时,建议检查下载代理设置,并适当调整更新间隔。

behavior 应该怎么选?

按规则集内容选:只有域名用 domain,只有 IP 段用 ipcidr,混合写法用 classical。选错会导致规则加载后不匹配,需对照规则集说明确认。

规则越多越好吗?

不是。规则过多会增加内存占用与匹配开销,也更难排查冲突。保持精简,只引入自己真正需要的规则集,并定期清理不再使用的部分。