分流规则
规则集合

规则集合

规则集合功能可以在较低资源占用情况下引用大量规则,并支持后台静默更新而无需重新加载 Stash。要使用规则集合,您需要在 rule-provide 下完成声明,之后即可在 rules 下引用集合。

rule-providers:
  proxy-domain:
    behavior: domain # 使用 domain 类规则集可提高匹配效率
    format: yaml # 使用 yaml 格式的规则集
    url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt
    interval: 86400
 
  cn-cidr:
    behavior: ipcidr # 使用 ipcidr 类规则集可提高匹配效率
    format: text # 使用 text 格式的规则集
    url: https://cdn.jsdelivr.net/gh/17mon/china_ip_list@master/china_ip_list.txt
    interval: 86400
 
rules:
  - RULE-SET,proxy-domain,Proxy
  - RULE-SET,cn-cidr,DIRECT,no-resolve # ipcidr 类规则集支持 no-resolve 参数

Stash 支持多种规则集合格式,不同格式支持不同内容类型,并具有不同的资源占用表现:

行为(behavior)格式支持内容示例匹配性能
domainyaml域名/域名通配符链接 (opens in a new tab)优秀
domaintext域名/域名通配符链接 (opens in a new tab)优秀
ipcidryamlIPv4/IPv6 集合,CIDR 格式链接 (opens in a new tab)优秀
ipcidrtextIPv4/IPv6 集合,CIDR 格式链接 (opens in a new tab)优秀
classicalyaml任意规则类型链接 (opens in a new tab)较差
classicaltext任意规则类型链接 (opens in a new tab)较差
💡

domain(-text)ipcidr(-text) 类型的规则集合针对大量数据进行了专门优化,当规则条目较多时建议优先选用。

不建议使用包含大量规则的 classical 规则集合,这会显著增加 Stash 的内存占用并降低规则匹配速度。