Clash Verge Rev 代理规则怎么设置?从添加规则到验证生效
简答:Clash Verge Rev 的代理规则通常要分三步:先启用正确的配置并选择 Rule 规则模式,再通过配置文件的编辑或覆写入口添加规则,最后在 Connections 中确认请求命中的规则和策略组。规则按从上到下匹配,具体域名规则要放在宽泛规则和 MATCH 之前;系统代理只接管遵守系统代理的软件,无法覆盖所有程序时再考虑 TUN。
定义:Clash Verge Rev 代理规则,是由 Mihomo 内核按照域名、IP、进程或规则集等条件,把请求分配给某个代理策略组、DIRECT 或其他处理动作的路由规则。
先看这张速查表:规则不生效先查哪一层
不同版本的 Clash Verge Rev 菜单文字可能略有差异,以下按常见的 Profiles、Proxies、Connections 和设置入口说明。开始前不要直接修改远程订阅原文件,先备份当前配置;否则下次订阅更新时,手动改动可能被重新生成的配置覆盖。
| 现象 | 先查层级 | 判断标准 | 下一步 | 回滚方法 |
|---|---|---|---|---|
| 所有请求都直连 | 配置与模式 | 当前配置已启用,模式为 Rule 而不是 Direct | 检查 Profiles、模式和系统代理 | 切回原配置或关闭系统代理 |
| 指定域名仍走错策略 | 规则顺序与策略组 | Connections 显示的命中规则确实是预期规则 | 把具体规则移到宽泛规则之前,并核对策略组名称 | 删除新增规则后重新加载 |
| 浏览器有效,桌面应用无效 | 系统代理覆盖范围 | 浏览器遵守代理,但目标应用没有连接记录 | 检查应用代理设置;必要时评估 TUN | 关闭 TUN,恢复系统代理 |
| 订阅更新后规则消失 | 规则持久化方式 | 更新前后配置中的自定义行不同 | 使用编辑规则、覆写或独立 Rule Provider | 恢复备份配置 |
规则执行顺序和规则类型以 Mihomo 文档为准:规则从上到下匹配,顶部规则优先,MATCH 用于匹配没有被前面规则处理的请求。可参考Mihomo Route Rules 文档。
正确顺序:导入配置、启用规则模式,再接管流量
- 打开 Profiles。确认订阅或本地配置已经导入,并且配置内容能看到代理节点、策略组和规则相关字段。只导入配置但没有点击启用,后续改动不会作用于当前运行内核。
- 启用当前配置。在配置列表中选择要使用的配置,等待内核加载完成。如果配置解析失败,先处理 YAML 格式、策略组名称或订阅内容问题,不要继续排查规则命中。
- 选择 Rule 模式。Rule 是按规则分流;Global 通常把请求交给当前选择的代理策略;Direct 则尽量直连。规则模式并不代表每条规则都要手工填写,订阅配置通常已经包含一组基础规则。
- 选择策略组或节点。进入 Proxies,查看配置中真实存在的策略组名称。规则第三列填写的是策略组、节点或 DIRECT 等动作,名称必须与当前配置完全一致,包括大小写、空格和符号。
- 开启系统代理。系统代理适合浏览器和遵守操作系统代理设置的应用。Clash Verge Rev 的界面说明将 System Proxy 与 TUN 分开:系统代理是修改操作系统代理设置,TUN 则通过虚拟网卡捕获系统流量;开启 TUN 时通常不需要同时开启系统代理。相关入口和提示可从项目源码中的设置字段说明核对。
- 先用浏览器验证。打开一个目标域名,在 Connections 中找到对应请求,查看命中的规则、最终策略组和节点。看到请求记录只能证明该请求进入了内核,不能单独证明所有应用都已接管。
Windows、macOS 和 Linux 的系统代理开关、权限提示及服务模式可能不同。如果开启 TUN 后出现断网、权限错误或内核停止,先关闭 TUN,恢复系统代理或直连,再检查权限与服务状态。不要在未记录原设置的情况下同时修改端口、DNS、TUN 和规则,否则很难判断是哪一层产生影响。
添加一条自定义分流规则:域名直连与代理
如果当前版本的配置卡片提供 Edit Rules、编辑规则或类似入口,优先从该入口修改活动配置;如果只看到远程订阅内容,使用配置覆写或独立 Rule Provider 会比直接改远程原文件更容易保留改动。菜单名称可能随版本或语言变化,应以当前界面为准。
示例一:让一个完整域名直连
在规则列表中加入下面这一行,第三列使用 DIRECT:
DOMAIN,example.com,DIRECT
DOMAIN 用于匹配完整域名。测试时应访问 example.com 本身或确认请求中的 Host 正是该域名;如果实际请求使用的是 api.example.com,这一行不会自动覆盖子域名。
示例二:让一个域名及其子域名使用代理策略
DOMAIN-SUFFIX 更适合匹配一个域名后缀及其子域名:
DOMAIN-SUFFIX,example.com,现有策略组名称
上面是结构片段,不可直接粘贴。“现有策略组名称”必须替换为你在 Proxies 页面看到的真实名称,例如配置中实际存在的某个策略组;不要凭空填写一个配置里没有的名称。Mihomo 文档说明,DOMAIN-SUFFIX,google.com 可匹配 google.com、www.google.com 和 mail.google.com,但不会匹配 content-google.com,详见规则类型与匹配说明。
示例三:按 IP 网段匹配
IP-CIDR 用于匹配目标 IPv4 网段,例如:
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
这是文档格式示例,192.0.2.0/24 属于文档保留网段,不代表你的实际业务地址。IP 规则可能触发域名解析来判断目标 IP;no-resolve 可用于要求该条 IP 规则跳过解析。实际使用前应确认网段来源和配置需求,不要把随意查到的 IP 地址写入规则。
如果需要维护较多域名,可考虑 RULE-SET。它引用一个规则集,规则集本身需要在 rule-providers 中配置;Mihomo 对 classical 类型支持多种规则格式,具体格式可查看rule-providers 内容文档。规则集适合集中维护,但初学者排错时要同时检查规则集是否成功加载、类型是否匹配以及主规则是否引用了正确名称。
规则优先级:为什么新规则必须放在 MATCH 前面
规则不是“全部执行后再投票”,而是从上到下逐条尝试,先命中的规则决定下一步动作。因此,越具体的规则越应放在越宽泛的规则之前。
| 顺序 | 规则 | 作用 | 结果 |
|---|---|---|---|
| 1 | DOMAIN,example.com,DIRECT | 精确匹配主域名 | 主域名直连 |
| 2 | DOMAIN-SUFFIX,example.com,代理策略组 | 匹配主域名及子域名 | 其余子域名按代理策略处理 |
| 3 | MATCH,DIRECT | 兜底匹配 | 前面没有命中的请求直连 |
上表中的“代理策略组”仍需替换为当前配置真实存在的名称,因此是结构示意,不应原样粘贴。常见错误是把自定义规则放在 MATCH 后面,或者放在一个更宽泛的 DOMAIN-SUFFIX、GEOSITE 或 RULE-SET 后面,导致新规则根本没有机会命中。
另一个错误是把“模式”与“规则”混为一谈:Rule、Global、Direct 是流量处理模式;DOMAIN、DOMAIN-SUFFIX、IP-CIDR、RULE-SET 和 MATCH 是规则条件或动作中的组成部分。即使写好了规则,若当前处于 Direct 模式,最终行为也可能与预期不同。
在 Connections 中验证:不要只看代理图标
- 先只打开一个测试页面,避免多个应用同时产生请求。
- 在 Connections 中按域名或时间找到该请求,记录实际域名、命中的规则、最终策略组和节点。
- 如果命中的是 MATCH,说明前面的具体规则没有匹配;检查域名是否写错、是否包含端口、请求是否实际使用了另一个子域名。
- 如果命中规则正确但页面仍失败,查看策略组是否有可用节点,再分别测试直连、代理和 DNS,不要马上重写全部规则。
- 如果 Connections 没有任何请求,先查系统代理、应用自身代理设置、TUN 状态和防火墙;规则本身可能还没有接收到流量。
对规则命中的进一步核对可以使用内核提供的规则信息接口,但前提是你已经在客户端设置中启用了外部控制器,并妥善保护访问密钥。Mihomo API 文档显示,/rules 可返回规则索引、类型、匹配内容、目标策略以及部分命中统计;这类接口信息只能说明内核层面的匹配,不等于目标应用一定完成了业务连接,详见Mihomo API 文档。
最小验证闭环是:配置已启用 → 模式为 Rule → 系统代理或 TUN 已接管 → Connections 能看到请求 → 命中的规则与策略组符合预期 → 目标页面或应用完成实际操作。单独看到 VPN 图标、一次 DNS 响应或一次节点延迟,都不能代替完整验证。
订阅更新后规则消失、规则不生效怎么办
- 更新后自定义行消失:说明改动可能写在会被重新生成的远程配置中。恢复备份后,改用当前版本提供的 Edit Rules、配置覆写或独立 Rule Provider。
- 规则存在但一直命中 MATCH:检查域名拼写、规则类型和顺序;DOMAIN 是完整域名匹配,DOMAIN-SUFFIX 才用于覆盖同一后缀下的子域名。
- 提示策略组不存在:进入 Proxies 复制实际策略组名称,不要使用教程中的示例名称。订阅更换后策略组名称变化时,自定义规则也需要同步检查。
- 浏览器正常但命令行或桌面软件失败:系统代理不一定能接管所有程序。先查看该应用是否支持 HTTP、HTTPS 或 SOCKS 代理;不能遵守系统代理时,再在记录回滚设置的前提下评估 TUN。
- 规则命中但网页打不开:按端口、代理协议、DNS、TUN 和应用差异分层检查。不要同时改规则、DNS 和 MTU;每次只改一项并记录结果。
- 开启 TUN 后断网:先关闭 TUN 并恢复系统代理,确认是否需要管理员权限、服务模式或额外网络权限,再重新尝试。Clash Verge Rev 项目设置字段也提示 TUN 可能需要服务模式或管理员模式。
本文是第三方使用指南,只帮助你理解客户端和 Mihomo 规则的通用配置,不代表任何客户端项目或订阅服务的官方页面。版本、菜单名称和订阅内容可能变化,无法核实的字段应以当前客户端和配置文件为准。
常见问题
Clash Verge Rev 的 Rule、Global、Direct 有什么区别?
Rule 是按配置中的规则分流,Global 通常把请求交给当前选择的代理策略,Direct 则尽量直连。想让某个域名按自定义规则处理,应先确认当前处于 Rule 模式。
自定义规则应该添加到哪里,才不会被订阅更新覆盖?
优先使用当前版本提供的 Edit Rules、配置覆写或独立 Rule Provider。直接修改远程订阅原文件可能在下一次更新时被重新生成;改动前建议备份配置,并在更新后检查规则是否仍存在。
DOMAIN 和 DOMAIN-SUFFIX 怎么选?
DOMAIN 用于匹配完整域名;DOMAIN-SUFFIX 用于匹配某个域名及其子域名。例如需要覆盖主域名和多个子域名时,通常考虑 DOMAIN-SUFFIX,但仍要结合实际请求域名验证。
为什么规则写对了,Connections 里却命中 MATCH?
先确认当前配置已启用且模式为 Rule,再检查域名拼写、规则类型和顺序。若更宽泛的规则或 RULE-SET 在前面先命中,新规则就不会继续匹配;如果没有 Connections 记录,则应先排查系统代理、应用代理或 TUN。
系统代理和 TUN 要不要同时开启?
通常先选择一种接管方式。系统代理适合遵守操作系统代理的应用;TUN 通过虚拟网卡捕获更多系统流量,可能需要服务模式或管理员权限。开启 TUN 后若断网,先关闭 TUN、恢复系统代理,再逐项排查。
相关阅读
- 先确认 Clash Verge Rev 配置与节点已正确导入
- 进一步了解 TUN 模式的开启、验证与断网恢复
- 配置文件无法切换时按日志关键词排查
- 代理已连接但网页打不开时继续排查端口与 DNS
- 需要比较节点时查看客户端测速方法