Clash 规则生效的关键不是写得多,而是顺序正确、策略存在、流量真的进入 Clash 内核。在 Clash Verge Rev 里,可以先按这五步操作:切到“规则”模式 → 右键当前订阅选择“编辑规则” → 把最小规则放到“前置规则” → 选择当前配置中真实存在的策略 → 在“连接”页查看实际命中。
本文按 2026 年 9 月 9 日的 Clash Verge Rev 与 Mihomo 官方资料校准。本站是独立第三方中文指南,不是官方项目;界面位置以后可能调整,规则的匹配顺序和验收思路仍应以当时官方文档为准。
先理解一条 Clash 规则
大多数基础规则由三部分组成:
规则类型,匹配内容,代理策略例如:
DOMAIN-SUFFIX,example.com,DIRECT它表示:目标域名是 example.com 或它的子域名时,使用 DIRECT 直连。
最重要的规则只有一条:规则从上到下匹配,上面的优先级更高;普通请求命中第一条符合条件的规则后,就不会继续向下找。 因此,规则不生效时先检查它前面命中了什么,比继续追加更多规则更有效。
在 Clash Verge Rev 中添加自定义规则
第一步:确认当前是规则模式
自定义分流要在“规则”模式下工作。全局模式会把进入内核的流量交给手工选定的出口,直连模式会从本地网络出去,这两种模式都不会按你的自定义规则完成预期分流。
如果你还没有完成订阅导入、激活配置和系统代理,请先看 Clash Verge Rev 使用教程。
第二步:打开当前订阅的规则编辑器
进入“订阅”页面,找到当前激活的订阅配置,右键它并选择“编辑规则”。官方文档明确说明,通过这个入口编辑的规则不会因为订阅更新而失效。
这与直接打开下载后的订阅 YAML 手工改写不是一回事。后者在下次更新时可能被订阅内容覆盖,不适合作为普通用户的默认方法。
第三步:优先使用前置规则
Clash Verge Rev 把自定义规则分为两类:
| 位置 | 实际顺序 | 适用场景 |
|---|---|---|
| 前置规则 | 位于订阅规则之前 | 覆盖订阅原有分流;大多数“让这个目标改走另一个出口”的需求 |
| 后置规则 | 位于订阅规则之后 | 只处理前面所有规则都没有匹配的请求 |
订阅配置通常会用 MATCH 处理所有剩余请求。如果订阅的 MATCH 已经在前面命中,放在它后面的规则就没有执行机会。因此,不确定时先把一条范围明确的自定义规则放在前置区,而不是添加新的兜底 MATCH。
第四步:选择真实存在的策略
规则的最后一段可以是:
DIRECT:从本地网络直接访问;REJECT:拒绝连接;- 当前配置中已有的代理组:名称取决于你的订阅或本地配置。
PROXY、Proxy、节点选择 或带 emoji 的名称都不是所有订阅通用的固定值。请在编辑器里选择当前配置实际提供的策略组;如果手工输入,名称、空格和符号都要与代理页显示的一致。
第五步:保存并重新发起测试
保存后确认这份订阅仍处于激活状态,再重新打开目标页面或重启目标程序,产生一条新连接。不要只看开关颜色,也不要用旧连接判断新规则是否生效。
常用规则类型怎么选
DOMAIN:只匹配完整域名,例如DOMAIN,www.example.com,DIRECT,不会包含其他子域名。DOMAIN-SUFFIX:匹配指定域名及其子域名,例如DOMAIN-SUFFIX,example.com,DIRECT。多数网站分流可以先从它开始。DOMAIN-KEYWORD:按域名中包含的关键词匹配,例如DOMAIN-KEYWORD,example,DIRECT。范围较宽,容易误伤不相关域名。IP-CIDR:匹配目标 IP 地址段,例如IP-CIDR,10.0.0.0/8,DIRECT。可选参数no-resolve只适用于目标 IP 规则,不是通用 DNS 修复。GEOIP:按目标 IP 的国家或地区代码匹配,例如GEOIP,CN,DIRECT,结果取决于当前配置使用的地理数据。PROCESS-NAME:按进程名匹配,例如PROCESS-NAME,example.exe,DIRECT。进程名和支持情况可能因系统而异。MATCH:无条件匹配剩余请求,例如MATCH,DIRECT。它是兜底规则,应放在最后,通常不要加入前置区。
如果只是让一个网站改变出口,先用 DOMAIN 或 DOMAIN-SUFFIX。只有实际目标是 IP 段、进程或地理分类时,再使用对应类型。范围越大,越需要在连接页验证有没有误伤。
三个最小示例
以下 example.com 是演示用保留域名,你的代理组 是占位符。使用时必须换成自己的目标和当前配置中真实存在的组名。
让一个域名走指定代理组
DOMAIN-SUFFIX,example.com,你的代理组把它放在前置规则后,example.com 及其子域名会优先交给所选代理组。若只想匹配 www.example.com,改用 DOMAIN。
让一个域名直连
DOMAIN-SUFFIX,example.com,DIRECT适合为订阅原本走代理的目标增加明确直连例外。公司内网域名可能还涉及系统 DNS、搜索域或浏览器策略;规则命中只是出口选择,不保证内网解析一定成功。
让局域网 IP 段直连
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve这条规则用于私有局域网地址直连,不是广告屏蔽规则。Mihomo 在目标 IP 规则开始匹配域名请求时可能触发 DNS 解析;no-resolve 表示在这个目标 IP 规则中跳过该解析检查。如果前面的规则已经触发解析,它不会撤销已经发生的解析。
如何确认规则真的命中
- 保持“规则”模式,并确认编辑的是当前激活配置。
- 打开 Clash Verge Rev 的“连接”页面。
- 重新访问测试域名,必要时关闭已有连接或重新启动目标程序。
- 找到对应“主机”,查看“规则”和“链路”字段;进程分流还要核对“进程”。
- 结果不符合预期时,一次只改一项,再产生新连接复测。
连接页出现目标请求,并显示预期规则与链路,才能证明分流已经按预期发生。如果连接页没有这条请求,问题通常还在规则之前:应用可能没有使用系统代理,或者需要 TUN 才能把流量交给内核。请转到 TUN 模式指南 检查入站路径。
规则已经命中,也不代表目标服务必然可用。节点不可达、订阅失效、DNS、证书、目标服务限制或 TUN 网络问题,仍可能让访问失败;这类情况继续看 订阅与节点超时排查。
Clash 规则不生效怎么排查
| 现象 | 最可能检查点 | 处理方法 |
|---|---|---|
| 连接页显示另一条规则 | 自定义规则前面已有更宽的匹配 | 移到前置区,或把更精确规则放到宽泛规则之前 |
| 后置规则完全不命中 | 订阅已有 MATCH 或其他规则先命中 |
改为范围明确的前置规则,不要再添加前置 MATCH |
| 连接页没有目标请求 | 应用没有把流量交给 Clash | 先检查系统代理;不遵循系统代理的程序再评估 TUN |
| 切换后所有自定义规则都像失效 | 当前不是规则模式,或编辑的配置未激活 | 切回规则模式,确认当前激活订阅后复测 |
| 手工输入代理组后报错或不走预期出口 | 组名不存在或不完全一致 | 从当前配置选择策略,或逐字核对名称、空格和符号 |
| 主域名命中,但页面部分资源仍走别处 | 页面还请求了 CDN、接口或登录域名 | 在连接页找实际主机,只为确认需要的附加域名加规则 |
DOMAIN-KEYWORD 阻断了正常网站 |
关键词范围太宽 | 换成 DOMAIN、DOMAIN-SUFFIX 或维护明确域名集合 |
| 进程规则不命中 | 实际进程名或平台行为不同 | 在连接页核对进程;先用域名规则验证基本链路 |
| 规则命中正确但仍打不开 | 出口、节点、DNS 或目标服务问题 | 保留命中证据,转到 节点超时排查 |
修改规则前先保留原内容或一次只新增一条。若测试失败,撤回这条最小改动比同时调整规则、DNS、TUN 和节点更容易定位原因。
常见疑问
订阅更新后自定义规则会消失吗?
按官方文档,从订阅卡片右键进入“编辑规则”添加的规则不会随订阅更新失效。直接手工改写下载后的订阅 YAML 不属于这个保证范围。
自定义规则应该放前置还是后置?
需要覆盖订阅分流时放前置。只有确认订阅规则没有提前捕获该请求时,后置规则才适合;订阅已有 MATCH 时,它后面的规则无法处理普通剩余请求。
为什么复制别人的 PROXY 规则会失败?
因为代理组名称来自当前配置。对方的配置可能有 PROXY,你的配置可能叫其他名称。请选择自己代理页里实际存在的组,不要照抄名称。
TUN 开关会改变规则顺序吗?
不会。系统代理或 TUN 决定流量怎样进入内核,规则、全局或直连决定进入内核以后怎样出去。TUN 可能让更多应用流量进入 Clash,但不会把一条低优先级规则自动移到前面。
可以直接导入大型第三方规则集吗?
先确认来源、更新方式、与当前订阅的顺序和维护责任。对普通分流问题,一条可以在连接页验证的最小规则更容易回滚,也更容易发现误伤。需要维护 Rule Provider 时,应先阅读 Mihomo 官方文档,不要把不明来源列表直接当作通用答案。
官方资料与下一步
准备大幅调整规则或扩展脚本时,可以先按配置备份与恢复教程导出一份当前配置,保留改动前的副本。
如果你还在第一次配置阶段,回到 Clash Verge Rev 使用教程;如果规则已命中但连接失败,进入 节点超时排查;如果只有游戏、命令行或特定应用没有请求记录,再看 TUN 模式指南。
