分流规则
规则集合

规则集合

利用规则集合,可以在较低资源占用情况下引用大量规则,并且可以在后台静默更新而无需重新加载 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/Loyalsoldier/clash-rules@release/cncidr.txt
    interval: 86400
 
rules:
  - RULE-SET,proxy-domain,Proxy
  - RULE-SET,cn-cidr,DIRECT,no-resolve # ipcidr 类规则集支持 no-resolve 参数

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

行为(behavior)格式支持内容例子匹配性能
domainyaml域名 / 域名通配符link (opens in a new tab)优秀
domaintext域名 / 域名通配符link (opens in a new tab)优秀
ipcidryamlIPv4 / IPv6 集合,CIDR 格式link (opens in a new tab)优秀
ipcidrtextIPv4 / IPv6 集合,CIDR 格式link (opens in a new tab)优秀
classicalyaml任意link (opens in a new tab)很差
classicaltext任意link (opens in a new tab)很差
💡

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

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