规则引擎:构建智能分流的“交通地图”

理解 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,🚀 默认代理

⚡ 规则匹配遵循从上到下的优先级,命中即停止。请将更具体的规则放在前面。