Clash provider是Clash核心的规则分流模块,通过配置规则提供者实现自动分流、广告拦截和国内流量直连,本文详解provider配置语法、代理组类型选择及常见问题解决方案。
什么是Clash规则提供者
规则提供者(Provider)是Clash实现智能分流的核心机制,它将分流规则集中管理,避免在主配置文件中堆砌大量规则,提升配置可维护性,Provider支持本地文件和远程URL两种加载方式,远程规则可实现自动更新。
1 Provider基本结构
proxy-providers:
# 本地文件方式
local-rules:
type: file
path: ./rules/local.yaml
behavior: domain
# 远程URL方式
online-rules:
type: http
url: "https://example.com/rules.yaml"
interval: 86400
behavior: ipcidr
2 Behavior行为类型选择
| 行为类型 | 适用场景 | 匹配效率 |
|---|---|---|
| domain | 广告拦截、特定网站 | 高 |
| ipcidr | 大规模IP段分流 | 极高 |
| domain-suffix | 域名后缀匹配 | 高 |
| classical | 传统规则格式 | 低 |
代理组类型深度解析
代理组决定流量如何分配到代理节点,选择合适的代理组类型直接影响使用体验。
1 Select(手动选择)
适用于多节点场景,用户手动切换代理:
proxies:
- name: HK-01
type: ss
server: 1.2.3.4
port: 8388
- name: JP-01
type: ss
server: 5.6.7.8
port: 8388
proxy-groups:
- name: 手动选择
type: select
proxies:
- HK-01
- JP-01
- DIRECT
2 URL-Test(自动测速)
自动选择延迟最低的节点:
proxy-groups:
- name: 自动测速
type: url-test
url: "http://www.gstatic.com/generate_204"
interval: 300
tolerance: 50
proxies:
- HK-01
- JP-01
适用场景:流媒体解锁、跨境办公需求
3 Fallback(故障转移)
主节点不可用时自动切换备用节点:
proxy-groups:
- name: 稳定优先
type: fallback
url: "http://www.gstatic.com/generate_204"
interval: 300
proxies:
- HK-01
- JP-01
- SG-01
分流规则写法与优先级
1 规则类型详解
rules: # 域名精确匹配 - DOMAIN,www.google.com,自动测速 # 域名后缀匹配(所有google子域名) - DOMAIN-SUFFIX,youtube.com,手动选择 # IP段匹配(国内直连) - IP-CIDR,10.0.0.0/8,DIRECT - IP-CIDR,172.16.0.0/12,DIRECT # GEOIP数据库(国家分流) - GEOIP,CN,DIRECT # 进程名匹配(仅TUN模式) - PROCESS-NAME,WeChat,DIRECT
2 规则优先级原则
Clash规则按顺序匹配,排在前的规则优先执行,建议排序:
- 进程/应用规则(TUN模式)
- 域名精确匹配(DOMAIN)
- 域名后缀匹配(DOMAIN-SUFFIX)
- IP-CIDR(大型IP段)
- GEOIP(国家分流)
- 最终兜底规则
TUN模式与系统代理的区别
1 工作原理对比
| 特性 | TUN模式 | 系统代理 |
|---|---|---|
| 流量接管 | 网卡层(所有流量) | 应用层(仅HTTP/HTTPS) |
| UDP支持 | 完整支持 | 不支持 |
| 游戏加速 | 可用 | 不可用 |
| 性能消耗 | 较高 | 较低 |
| 兼容性问题 | 可能与VPN冲突 | 较少 |
2 TUN模式配置示例
dns:
enable: true
listen: 0.0.0.0:53
enhanced-mode: fake-ip
nameserver:
- 223.5.5.5
- 119.29.29.29
tun:
enable: true
stack: system
dns-hijack:
- 8.8.8.8:53
auto-route: true
常见问题FAQ
1 规则加载成功但未生效
现象:Provider配置无误但流量未按规则分流
原因:规则优先级低于代理组规则,或behavior类型与规则格式不匹配
解决方法:检查rules中代理组名称是否与proxy-groups定义一致;确认behavior类型(domain/ipcidr)与规则格式匹配
2 节点切换后网站无法访问
现象:切换节点后部分网站加载失败
原因:DNS缓存未刷新,或fake-ip与真实IP冲突
解决方法:清除浏览器DNS缓存;重启Clash客户端;检查dns.enhanced-mode设置
3 远程Provider更新失败
现象:规则链接无法下载或更新超时
原因:网络环境限制或URL失效
解决方法:使用国内镜像站;检查URL是否需要认证;手动下载规则文件改用本地加载
客户端下载推荐
根据设备平台选择对应客户端:
- Windows:Clash Verge Rev(GitHub Release下载)
- Mac:ClashX(M1/M2选arm64版本)
- Android:FlClash或Clash for Android(华为设备需手动下载APK)
- iOS:Shadowrocket或Quantumult X(App Store有售)
- 路由器:OpenClash(OpenWrt系统,Meta内核推荐)
配置完成后,建议使用https://www.gstatic.com/generate_204测试代理连通性,确保跨境访问稳定。
