规则引擎:构建智能分流的“交通地图”
理解 ClashX 如何通过规则矩阵精准导航每一个数据包,让流量在代理、直连与拦截之间自由流转,实现效率与安全的完美平衡。
⚡ 分流决策流程
数据包进入引擎后,依次匹配规则,命中即停止,未命中则走默认策略。
📥 入站请求
→
🔍 DOMAIN 匹配
→
🌐 IP-CIDR 匹配
→
🚀 代理节点
🏠 直连
←
📋 GEOIP 匹配
←
🚫 拒绝/拦截
规则类型图鉴:每一种匹配方式
ClashX 提供丰富的规则类型,满足从简单到复杂的各种分流需求。
DOMAIN
精确匹配完整域名
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX
匹配域名后缀及所有子域名
DOMAIN-SUFFIX,google.com,PROXY
DOMAIN-KEYWORD
匹配包含关键词的域名
DOMAIN-KEYWORD,github,DIRECT
GEOIP
根据IP地理归属分流
GEOIP,CN,DIRECT
IP-CIDR
匹配IP地址段
IP-CIDR,10.0.0.0/8,DIRECT
PROCESS-NAME
按进程名匹配流量
PROCESS-NAME,Telegram,PROXY
MATCH
兜底匹配,必须放在最后
MATCH,PROXY
RULE-SET
引用外部规则集
RULE-SET,ads.yaml,REJECT
策略组:节点集群的智能调度
将多个节点组合成策略组,实现自动故障转移、负载均衡或手动选择。
select(手动选择)
用户从组内节点中手动指定一个使用,适合需要固定线路的场景,如游戏、视频会议。
url-test(延迟测速)
每隔一段时间自动测试组内所有节点的延迟,并切换到延迟最低的节点,适合对响应速度敏感的应用。
fallback(故障转移)
按顺序检测节点可用性,当首选节点断开时自动切换到下一个可用节点,确保连接不中断。
load-balance(负载均衡)
将流量轮询分配到多个节点,适合高并发下载等场景,可最大化利用多条线路的带宽。
实战配置:一条完整的分流规则链
以下示例展示了从广告拦截到流媒体分流的典型配置结构。
rules:
# 拦截广告与跟踪
- DOMAIN-KEYWORD,adservice, REJECT
- RULE-SET,anti-ads.yaml, REJECT
# 国内网站直连
- DOMAIN-SUFFIX,cn, DIRECT
- GEOIP,CN, DIRECT
# 流媒体走专用节点
- DOMAIN-SUFFIX,netflix.com, 🎬 流媒体
- DOMAIN-SUFFIX,hulu.com, 🎬 流媒体
# 工作相关直连
- DOMAIN-SUFFIX,github.com, DIRECT
- PROCESS-NAME,vscode, DIRECT
# 其余流量走代理
- MATCH,🚀 默认代理
# 拦截广告与跟踪
- DOMAIN-KEYWORD,adservice, REJECT
- RULE-SET,anti-ads.yaml, REJECT
# 国内网站直连
- DOMAIN-SUFFIX,cn, DIRECT
- GEOIP,CN, DIRECT
# 流媒体走专用节点
- DOMAIN-SUFFIX,netflix.com, 🎬 流媒体
- DOMAIN-SUFFIX,hulu.com, 🎬 流媒体
# 工作相关直连
- DOMAIN-SUFFIX,github.com, DIRECT
- PROCESS-NAME,vscode, DIRECT
# 其余流量走代理
- MATCH,🚀 默认代理
⚡ 规则匹配遵循从上到下的优先级,命中即停止。请将更具体的规则放在前面。