深度定制的核心——规则与策略

Clash规则与策略管理

规则是Clash的灵魂,策略组是调度的中枢。本页将深入解析规则优先级、策略组类型、自定义规则编写以及多场景分流实战,帮助您在复杂网络环境中实现精准、高效的流量控制。

规则是如何工作的?

一个请求从发起到被转发,经历了怎样的决策流程

域名请求

浏览器发起 `google.com` 的DNS查询

规则匹配器

从上到下扫描规则列表,找到第一个匹配项

策略组决策

规则指定策略组,组内自动或手动选择出口节点

数据转发

通过选定的节点建立连接,数据开始传输

规则优先级:顺序决定一切

Clash按从上到下的顺序匹配,命中即停止——下方示例展示了优先级如何影响最终结果

📋 规则列表(从上到下扫描) 匹配目标:api.twitter.com
DOMAIN-SUFFIX twitter.com ➜ 代理组
DOMAIN-KEYWORD api ➜ 直连
GEOIP CN ➜ 直连
MATCH * ➜ 代理组

匹配结果:第一条 `DOMAIN-SUFFIX,twitter.com` 已命中,请求走代理组,后续规则不再检查。

五大策略组,应对万变场景

策略组是连接规则与节点的桥梁,不同类型的组满足从自动故障转移到手动选择的全部需求

url-test (自动测速)

每隔指定时间对所有节点进行延迟测试,自动切换到延迟最低的线路。适合需要始终保持最快响应的场景,如网页浏览。

推荐用于顶层组

fallback (故障转移)

按顺序尝试节点,若第一个节点不可用则自动切换到下一个。适合对稳定性要求极高、允许略微增加延迟的场合。

高可用架构首选

load-balance (负载均衡)

将流量轮询或按权重分配到多个节点,适合多线程下载或需要分散带宽的场景,可有效提升总吞吐量。

大流量场景利器

select (手动选择)

完全由用户在系统托盘菜单中手动切换节点。适合需要固定出口IP、或对特定服务有特殊网络要求的用户。

手动控制权交给你

relay (链式代理)

数据包依次经过多个节点转发,形成代理链。适合需要多层跳转以增强隐匿性,或绕过特殊网络限制的进阶用户。

进阶隐私保护

自定义规则高级技巧

掌握这些技巧,您可以从“能用”飞跃到“好用”

1

进程名匹配

使用 `PROCESS-NAME,Telegram.exe,代理组` 可为指定应用程序单独设置代理规则,不影响其他软件,适合游戏或特定工具。

2

逻辑规则组合

支持 `AND`、`OR`、`NOT` 逻辑组合,例如 `AND,((DOMAIN,google.com),(SRC-IP,192.168.1.100)),代理组`,实现精细的条件分流。

3

规则集(Rule-Set)

将大量域名规则拆分为独立的规则集文件,并支持远程更新。便于维护大型规则库,尤其适合团队统一分发策略。

4

DNS 分流规则

在 `dns` 配置段使用 `nameserver-policy` 指定特定域名的解析服务器,防止DNS泄漏,与代理规则配合实现双重保障。

5

延迟敏感型分流

创建多个 url-test 策略组,分别包含不同地区的节点,再用规则将游戏、语音等流量导向延迟最低的地区组。

6

规则调试模式

将日志级别调整为 `debug`,Clash会在日志中打印每条请求的规则匹配过程,帮助您验证规则是否按预期工作。

规则配置常见疑问

关于规则与策略的典型疑惑,这里一次性解答

规则太多会影响性能吗?
Clash的规则匹配引擎经过高度优化,即使数百条规则也能在毫秒内完成扫描。但应避免重复或冗余规则,定期清理无效条目可保持配置清爽。
如何让国内流量不走代理?
使用 `GEOIP,CN,DIRECT` 和 `DOMAIN-SUFFIX,cn,DIRECT` 两条规则即可涵盖绝大多数国内网站。更精细的做法是引入中国域名规则集。
策略组可以嵌套吗?
可以。一个策略组的成员可以是另一个策略组,实现多级决策。例如先按地区分组,再在组内使用url-test自动选择最快节点。