📋 什么是 Rule Provider?
Rule Provider(规则集提供者)是 Clash Verge 支持的一种高级功能,它允许你引用托管在远程服务器上的规则文件,并自动定期更新这些规则。
传统规则 vs Rule Provider
| 对比项 | 传统规则 | Rule Provider |
|---|---|---|
| 维护方式 | 手动添加和更新 | 自动远程更新 |
| 规则数量 | 有限(通常几百条) | 可以很多(数千条) |
| 更新频率 | 需要手动更新 | 自动定时更新 |
| 维护成本 | 高 | 低 |
🔧 Rule Provider 配置详解
配置结构
rule-providers:
规则名称:
type: http # 固定值
behavior: domain # domain / ipcidr / classical
url: "规则文件URL"
path: ./ruleset/规则名称.yaml
interval: 86400 # 更新间隔(秒)
behavior 类型说明
| 类型 | 说明 | 适用场景 |
|---|---|---|
| domain | 域名规则 | DOMAIN-SUFFIX、DOMAIN-KEYWORD |
| ipcidr | IP 地址段规则 | GEOIP、IP-CIDR |
| classical | 经典混合规则 | 包含多种规则类型的文件 |
📚 推荐规则集来源
1. Loyalsoldier/clash-rules
最受欢迎的规则集之一,由 @Loyalsoldier 维护。
rule-providers:
# 国内直连规则
direct:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
# 广告拦截规则
ads:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/ads.txt"
path: ./ruleset/ads.yaml
interval: 86400
# 代理规则
proxy:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
# Telegram IP 规则
telegram-ip:
type: http
behavior: ipcidr
url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/telegramcidr.txt"
path: ./ruleset/telegram-ip.yaml
interval: 86400
2. ACL4SSR
另一个流行的规则集,功能丰富。
rule-providers:
cn:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaDomain.list"
path: ./ruleset/cn.yaml
interval: 86400
cncidr:
type: http
behavior: ipcidr
url: "https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaIp.list"
path: ./ruleset/cncidr.yaml
interval: 86400
📝 在 rules 中引用规则集
配置完 rule-providers 后,在 rules 部分这样引用:
rules:
# 引用规则集(使用 RULE-SET)
- RULE-SET,ads,REJECT
- RULE-SET,direct,DIRECT
- RULE-SET,telegram-ip,🚀 节点
- RULE-SET,proxy,🚀 节点
# 国内 IP 直连
- GEOIP,CN,DIRECT
# 兜底规则
- MATCH,🚀 节点
💡 规则顺序
规则集引用的规则会先匹配。建议将规则集放在前面,通用规则(如 GEOIP)放在后面,MATCH 兜底放在最后。
📄 完整配置示例
# ==================== Rule Providers ====================
rule-providers:
direct:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
ads:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/ads.txt"
path: ./ruleset/ads.yaml
interval: 86400
proxy:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
# ==================== Rules ====================
rules:
- RULE-SET,ads,REJECT
- RULE-SET,direct,DIRECT
- RULE-SET,proxy,🚀 节点
- GEOIP,CN,DIRECT
- MATCH,🚀 节点
⚠️ 注意事项
- 规则文件会缓存在本地,更新间隔由 interval 参数控制
- 首次加载规则集可能需要较长时间(需要下载文件)
- 确保网络可以访问 GitHub raw 文件(可能需要代理)
- 规则集越多,占用内存越大,请根据需要选择
📌 总结
- Rule Provider 让你无需手动维护大量规则
- 规则会自动定时更新,保持最新
- 推荐使用 Loyalsoldier/clash-rules 规则集
- 合理配置更新间隔(通常 86400 秒 = 1 天)
- 注意规则顺序,通用规则放后面