Clash Verge Rev 规则模式怎么用?
简答:规则模式会按配置中的规则从上到下匹配,命中第一条后决定直连、代理或阻断。先在代理页选择“规则”,再确认系统代理或 TUN 已开启;自定义规则优先放在前置规则,并检查策略组名称、英文逗号和缩进。
定义:规则模式是一种按域名、IP、应用或其他条件匹配流量,并将请求交给直连、代理组或阻断策略处理的分流方式。
先试这一步:切到规则模式并确认代理真的生效
如果你刚导入订阅,只想让客户端按订阅自带的分流规则工作,可以先完成下面三项,不必立即修改 YAML。
- 打开 Clash Verge Rev 的代理页面,在页面顶部选择“规则”。这里是模式按钮,不是下拉菜单;常见选项包括“规则”“全局”“直连”。
- 在首页或设置页确认已经开启“系统代理”,或者按需开启 TUN。只切换“规则”而没有让系统流量进入客户端,浏览器或其他程序仍可能不经过规则处理。
- 打开一个需要测试的网页,再查看“连接”页面,确认请求是否出现、命中了哪条规则以及最终使用的策略组。
| 模式 | 处理方式 | 适合场景 | 常见误区 |
|---|---|---|---|
| 规则 | 按规则逐条匹配,再交给 DIRECT、REJECT 或代理组 | 希望国内版域名直连、其他指定流量按策略分流 | 只切模式,没有开启系统代理或 TUN |
| 全局 | 通常将进入客户端的请求交给选定代理策略 | 临时验证代理节点或排除规则顺序影响 | 把全局测试结果误认为规则分流结果 |
| 直连 | 不按代理策略转发 | 测试本地网络基线 | 误以为订阅或节点失效 |
官方快速入门说明了订阅导入、模式选择以及系统代理和 TUN 的基本关系;系统代理主要服务于会读取系统代理设置的程序,TUN 用于接管不遵守系统代理约定的程序。可参考 Clash Verge Rev 快速入门 和 名词解释。
规则模式背后的原理:规则、策略组和匹配顺序
规则模式不是“所有网站自动走同一个节点”,而是把请求交给规则列表判断。每一条规则通常包含匹配类型、匹配内容和处理策略,例如某个域名后缀交给代理组,某个局域网网段使用直连。
最重要的顺序是:规则从上到下匹配,第一条符合条件的规则命中后就停止继续匹配。因此,前面写得过宽的规则可能会截住后面的精确规则。例如先写一个覆盖范围很大的代理规则,后面再写国内版域名直连规则,后面的直连规则可能没有机会执行。
| 规则部分 | 示例 | 含义 |
|---|---|---|
| 匹配类型 | DOMAIN-SUFFIX | 按域名后缀匹配 |
| 匹配内容 | example.cn | 要判断的域名、网段或进程名 |
| 处理策略 | DIRECT | 直连,不使用代理 |
| 处理策略 | REJECT | 阻断连接 |
| 处理策略 | 代理组名称 | 交给配置文件中已有的代理组 |
策略组名称不是随便填写的文字,必须与当前配置中的代理组名称一致。订阅中常见的策略组名称可能包含图标、空格或中文,实际填写时应从规则编辑表单的下拉框选择,不要凭记忆手写。
国内版域名的分流可以使用明确的域名后缀或地理规则;国际版域名应按实际需求交给当地直连或配置中的相应策略,不要把“国内直连”规则泛化成所有域名直连。规则语法和 no-resolve 等参数可参考 Clash Verge Rev 自定义规则文档 与 Mihomo 路由规则文档。
在界面里添加自定义规则:先用表单,再考虑 YAML
Clash Verge Rev 的自定义规则入口不是直接要求新手编写整份配置文件。官方文档给出的流程是:右键订阅配置文件,选择“编辑规则”,再通过表单添加规则。
- 进入订阅或配置文件列表,右键需要修改的订阅配置文件,选择“编辑规则”。
- 点击添加规则,先选择规则类型,例如域名、域名后缀、IP-CIDR 或应用进程。
- 填写匹配内容,再从策略下拉框选择已有的代理组、
DIRECT或REJECT。 - 选择插入位置。前置规则优先级高于订阅规则,后置规则会放在订阅规则之后;需要覆盖订阅默认分流时,通常先考虑前置规则。
- 保存后重新测试,并在“连接”页面观察实际命中的规则和策略。
如果界面提供高级 YAML 视图,单条规则的基本写法可以参考下面的格式。多行内容必须保持英文逗号、合法缩进和完整键名:
rules:
- DOMAIN-SUFFIX,example.cn,DIRECT
- IP-CIDR,192.168.1.0/24,DIRECT,no-resolve
- MATCH,代理组名称上面的域名仅用于说明格式,实际配置应替换为你需要处理的域名;策略组名称也必须替换成当前配置中真实存在的名称。IP-CIDR 适合局域网网段等 IP 范围匹配,no-resolve 可用于避免针对目标 IP 的规则触发额外 DNS 解析;是否使用应结合你的配置和测试结果判断。
MATCH 是兜底规则,会匹配其余请求,因此只能保留一条并放在最后。如果在它后面继续添加规则,后面的规则通常不会有机会命中。官方自定义规则页面还说明,编辑订阅规则的方式用于避免订阅更新时直接失效,具体仍应以当前版本界面为准。
规则不生效或保存报错:按现象逐项自查
下面的排查重点是配置格式和匹配逻辑,不把问题直接归因于节点或订阅。每次只改一处,改完保存并重新测试。
| 问题 | 可能表现 | 自查与修复 |
|---|---|---|
| 缩进错误 | 保存失败、配置无法加载或规则区域出现异常 | 检查 rules: 下的每条规则是否使用一致的空格缩进;不要混用 Tab 和空格。多行 YAML 逐行检查层级。 |
| 使用中文逗号 | 规则看似完整,但无法按预期识别匹配类型、内容和策略 | 把全角逗号替换为英文半角逗号 ,,例如 DOMAIN-SUFFIX,example.cn,DIRECT。 |
| 多余空格或字段不完整 | 规则被拒绝,或连接页没有按预期显示命中结果 | 逐项检查规则类型、匹配内容和策略字段;删除字段前后的多余空格,避免把说明文字混入规则行。 |
| 策略组名称不存在 | 配置加载失败、规则无法应用,或下拉框中找不到手写的名称 | 回到表单,从策略下拉框重新选择;如果使用 YAML,复制当前配置中的准确名称,包括图标和空格。 |
| 规则顺序错误 | 规则已保存,但请求总是走错误的直连或代理策略 | 把更具体的规则放在前面,把宽泛规则放在后面;确认 MATCH 只出现一次且在最后。 |
| 只切换了规则按钮 | 浏览器或应用流量完全没有变化 | 确认系统代理或 TUN 已开启;不支持系统代理的程序通常需要 TUN 才能被接管。 |
如果规则模式下国内版域名打不开,先不要切换到全局模式。保持规则模式,打开“连接”页面查看该请求命中的规则和策略:如果命中了自定义代理规则,调整规则顺序或改为直连;如果命中了地理规则,检查其位置是否被前置规则覆盖;如果已经命中直连但仍失败,再单独排查 DNS、系统代理和本地网络。TUN 开启后出现整体网络异常,还应参考官方的 Windows 常见问题 或对应系统文档。
一套可复制的规则模式自测流程
- 先测直连基线:选择“直连”,关闭系统代理和 TUN,确认本地网络本身能够访问测试目标。
- 再测规则入口:选择“规则”,只开启系统代理;访问一个浏览器页面,检查连接页是否出现请求和命中规则。
- 再测 TUN:关闭系统代理后开启 TUN,测试同一程序和同一目标。这样可以区分系统代理链路与 TUN 链路,避免同时改动多个变量。
- 最后测自定义规则:只新增一条明确的域名后缀规则,选择现有策略组,保存后再次观察连接页的命中结果。
| 观察结果 | 下一步 |
|---|---|
| 规则模式下连接页有请求且命中预期策略 | 说明模式入口和该条规则基本生效,可继续逐条添加规则。 |
| 连接页没有请求 | 优先检查系统代理或 TUN 是否开启,以及目标程序是否遵守系统代理设置。 |
| 有请求但命中错误规则 | 检查前置规则、订阅规则、规则顺序和是否提前命中 MATCH。 |
| 配置保存失败 | 先恢复为表单编辑,检查缩进、英文逗号、字段数量和策略组名称。 |
完成一次单变量测试后,再决定是否调整 DNS、TUN 或订阅配置。不要在规则、节点、系统代理和 TUN 同时变化时判断是哪一项导致问题。
常见问题 FAQ
规则模式和全局模式有什么区别?
规则模式会按照规则逐条匹配,并可能分别使用直连、代理组或阻断策略;全局模式则用于把进入客户端的请求交给选定的代理策略。排查规则顺序时,应优先使用规则模式观察连接页的实际命中结果。
为什么切到规则模式后还是没有变化?
最常见的检查点是系统代理或 TUN 没有开启,或者目标程序不读取系统代理设置。先确认开关状态,再查看连接页是否出现该程序的请求;不支持系统代理的程序通常需要使用 TUN。
自定义规则应该放在前置还是后置?
如果希望自定义规则覆盖订阅中的默认规则,通常放在前置规则;如果希望订阅规则优先,再考虑后置规则。由于规则是从上到下、命中第一条即停止,选择位置后还要检查是否被更前面的宽泛规则截住。
为什么规则保存后提示策略不存在?
规则最后的策略字段必须是当前配置中真实存在的代理组名称,或者使用 DIRECT、REJECT 等有效策略。建议回到规则表单,从下拉框选择策略,避免手写时漏掉图标、空格或中文字符。
是不是必须直接编辑 YAML 才能使用规则模式?
不是。只使用订阅自带分流时,切换到规则模式并确认系统代理或 TUN 已开启即可;需要增加单条分流时,优先使用“编辑规则”表单。YAML 适合需要批量检查或进阶配置的场景,但必须保持合法缩进和英文标点。
常见问题
规则模式和全局模式有什么区别?
规则模式会按规则逐条匹配,并分别使用直连、代理组或阻断策略;全局模式用于把进入客户端的请求交给选定的代理策略。
为什么切到规则模式后还是没有变化?
先确认系统代理或 TUN 已开启,再查看连接页是否出现目标程序的请求。不读取系统代理的程序通常需要使用 TUN。
自定义规则应该放在前置还是后置?
希望覆盖订阅默认规则时通常放在前置;希望订阅规则优先时再考虑后置。还要检查是否被更前面的宽泛规则提前命中。
为什么规则保存后提示策略不存在?
规则中的策略必须是当前配置存在的代理组名称,或使用 DIRECT、REJECT 等有效策略。建议从规则表单的下拉框选择。
是不是必须直接编辑 YAML 才能使用规则模式?
不是。订阅自带分流只需切换规则并开启系统代理或 TUN;新增单条规则时优先使用“编辑规则”表单。
相关阅读
参考资料
- Clash Verge Rev Docs:快速入门(clashverge.dev)
- Clash Verge Rev Docs:名词解释(clashverge.dev)
- Clash Verge Rev Docs:自定义规则(clashverge.dev)
- Clash Verge Rev Docs:Windows 常见问题(clashverge.dev)
- Mihomo Docs:Route Rules