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