规则集合
利用规则集合,可以在较低资源占用情况下引用大量规则,并且可以在后台静默更新而无需重新加载 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) | 格式 | 支持内容 | 例子 | 匹配性能 |
---|---|---|---|---|
domain | yaml | 域名 / 域名通配符 | link (opens in a new tab) | 优秀 |
domain | text | 域名 / 域名通配符 | link (opens in a new tab) | 优秀 |
ipcidr | yaml | IPv4 / IPv6 集合,CIDR 格式 | link (opens in a new tab) | 优秀 |
ipcidr | text | IPv4 / IPv6 集合,CIDR 格式 | link (opens in a new tab) | 优秀 |
classical | yaml | 任意 | link (opens in a new tab) | 很差 |
classical | text | 任意 | link (opens in a new tab) | 很差 |
💡
domain(-text)
和 ipcidr(-text)
两种类型的规则集合专门针对大量数据进行了优化,在规则条目较多时建议优先选择。
不建议使用内含大量规则的 classical
规则集合,会显著提高 Stash 内存占用,降低规则匹配速度。