Clash Verge Rev 规则怎么配置?从添加到验证的完整步骤
简答:Clash Verge Rev 配置规则,优先使用订阅配置卡片中的“编辑规则”,把自定义规则放到 prepend(前置)区域,再检查代理组名称和 MATCH 兜底规则。不要直接修改订阅原文,否则订阅更新后可能被覆盖。规则按从上到下匹配,命中后停止;如果规则页面里已经出现自定义规则,但访问结果不对,重点检查规则顺序、策略组名称、DNS 解析和 TUN 是否真的接管流量。
定义:Clash Verge Rev 规则配置,是通过 DOMAIN、GEOSITE、GEOIP、IP-CIDR、PROCESS-NAME 等匹配条件,把流量交给 DIRECT、REJECT 或实际存在的代理组。
先试这一步:把自定义规则放到 prepend
如果你的目标是让某个域名或应用优先走直连、代理或阻断,先打开 Clash Verge Rev 的订阅配置列表,找到已经导入的配置文件,右键进入“编辑规则”。官方文档说明,该入口用于编辑订阅规则,并支持把规则加入前置或后置区域;前置规则优先级更高,适合放需要覆盖订阅默认规则的内容。查看 Clash Verge Rev 自定义规则文档
| 你的目标 | 建议位置 | 原因 |
|---|---|---|
| 指定域名优先代理或直连 | prepend | 先于订阅规则匹配,减少被后续规则抢先命中的可能 |
| 补充兜底规则 | append | 适合放在订阅规则之后,但不能绕过已经命中的 MATCH |
| 长期维护多个订阅的公共规则 | 扩展配置或扩展脚本 | 避免直接改订阅原文,并可按全局或单订阅生效 |
完成添加后保存并重新应用配置,再打开“规则”页面查看最终规则列表。重点确认自定义规则确实位于订阅规则之前,并且策略名称与“代理”或“策略组”页面中的实际名称完全一致。
v1.7.x 与 v2.x:入口怎么判断
| 版本线索 | 应优先寻找的入口 | 注意事项 |
|---|---|---|
v1.7.x | 订阅配置右键菜单中的“编辑规则”或类似的可视化编辑入口 | 官方文档说明,旧版“Merge 配置”改名为“扩展配置”,prepend 和 append 也移动到订阅右键菜单的规则编辑器中;不要继续套用旧版 prepend-rules 写法。 |
v2.x | 订阅配置卡片右键菜单中的规则编辑、扩展配置或扩展脚本 | 菜单名称可能随具体版本和系统语言变化,以当前版本界面为准;先使用可视化规则编辑器,复杂修改再考虑 YAML 或 JavaScript。 |
官方扩展文档还说明,扩展配置和扩展脚本按订阅原文、应用设置、全局扩展、全局脚本、订阅扩展、订阅脚本等顺序处理。对于规则列表,扩展配置中的 rules 属于列表字段,写入时可能整体替换原有列表,因此不熟悉合并逻辑时,不要只复制一小段 rules: 覆盖配置。查看扩展配置与脚本文档
如果你仍在使用旧版配置文件,建议先备份,再将旧的 prepend-rules、append-rules 迁移到当前规则编辑器中的 prepend 或 append。对于具体版本是否仍兼容旧字段,本文不作额外推断,应以当前版本文档和生成后的最终配置为准。
三种配置方式:编辑规则、扩展配置、扩展脚本
| 方式 | 适合场景 | 怎么做 |
|---|---|---|
| 编辑规则 | 添加几条域名、IP 或进程规则 | 右键订阅配置,进入规则编辑器,选择添加到 prepend 或 append,保存并重新应用。 |
| 扩展配置 | 同时调整多个配置字段 | 右键配置卡片进入扩展配置,使用 YAML。规则列表、DNS 列表等字段的合并行为要先核对官方说明。 |
| 扩展脚本 | 需要按原有配置追加规则,或按订阅名称动态处理 | 使用 JavaScript 修改 config.rules,例如把自定义数组放在旧规则前面。 |
扩展脚本的核心思路是读取原有 config.rules,再用新数组与旧数组拼接。例如下面的结构表示把两条规则放到原规则之前,策略组名称必须替换为你实际拥有的名称:
const prependRule = [
"DOMAIN-SUFFIX,example.com,ProxyGroup",
"DOMAIN,service.example,DIRECT"
];
function main(config) {
const oldrules = config["rules"] || [];
config["rules"] = prependRule.concat(oldrules);
return config;
}
官方脚本文档给出了通过 config.rules 拼接前置规则的方式。查看扩展脚本示例 如果只是添加几条规则,优先使用可视化编辑器,减少 YAML 缩进或脚本语法错误。
常用规则类型与可复制模板
下面的模板只使用明确的域名、域名后缀、IP 段和进程名示例。复制前请先确认目标策略组确实存在;ProxyGroup、Streaming、TelegramGroup 都只是占位名称,不是固定组名。
| 规则类型 | 匹配对象 | 示例 | 使用提醒 |
|---|---|---|---|
DOMAIN | 完整域名 | DOMAIN,service.example,ProxyGroup | 只匹配写出的完整域名。 |
DOMAIN-SUFFIX | 域名后缀 | DOMAIN-SUFFIX,example.com,ProxyGroup | 可匹配主域名及其子域名,但不等于关键词匹配。 |
DOMAIN-KEYWORD | 域名中包含的关键词 | DOMAIN-KEYWORD,tracker,REJECT | 范围较宽,避免把短词用于正常业务域名。 |
GEOSITE | 地理站点集合 | GEOSITE,cn,DIRECT | 依赖对应的 geosite 数据,数据缺失或更新异常时可能无法按预期匹配。 |
GEOIP | 目标 IP 的国家或地区代码 | GEOIP,CN,DIRECT,no-resolve | IP 类规则可能触发 DNS 解析;使用 no-resolve 可跳过该规则触发的解析。 |
IP-CIDR | 目标 IPv4 网段 | IP-CIDR,192.168.0.0/16,DIRECT,no-resolve | 局域网常见网段还包括 10.0.0.0/8 和 172.16.0.0/12。 |
PROCESS-NAME | 进程名或部分平台上的应用包名 | PROCESS-NAME,steam.exe,SteamGroup | 进程匹配依赖客户端和系统权限;Windows 新版应用的实际进程名需自行核对。 |
mihomo 官方路由规则文档说明,规则按从上到下匹配,顶部规则优先级更高;命中条件后通常停止继续匹配,但当请求类型与代理节点能力不匹配时,可能继续向下匹配。查看 mihomo 路由规则文档
域名代理示例:
DOMAIN,service.example,ProxyGroup
DOMAIN-SUFFIX,media.example,Streaming
国内域名和局域网直连示例:
DOMAIN-SUFFIX,cn,DIRECT
GEOSITE,cn,DIRECT
IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
应用分流示例:
PROCESS-NAME,steam.exe,SteamGroup
PROCESS-NAME,Telegram.exe,TelegramGroup
如果系统中的进程名不是示例名称,先在任务管理器、活动监视器或系统进程列表中确认,再写入规则。Android 平台可按官方规则文档支持的包名形式核对。
广告拦截建议使用明确的域名后缀或已存在的规则集,不要把过短的关键词直接用于生产配置。例如:
DOMAIN-SUFFIX,ads.example,REJECT
GEOSITE,category-ads-all,REJECT
上面的域名只是示例,不能代表完整广告域名清单;规则集是否存在、名称是否可用,要以当前配置和 mihomo 数据为准。
prepend、append 与 MATCH:为什么顺序决定结果
prepend 是前置规则,适合放必须优先判断的规则;append 是后置规则,适合补充订阅规则末尾仍未处理的流量。若订阅规则中已经有 MATCH,它会匹配所有尚未命中的请求,因此写在 MATCH 后面的 append 规则可能没有机会生效。
推荐顺序可以整理为:
- 局域网、设备本地地址等必须直连的规则。
- 指定域名或应用的定向规则。
- 较宽泛的 GEOSITE、GEOIP 或规则集。
- 订阅提供的常规分流规则。
- 最后一条
MATCH,ProxyGroup兜底规则。
完整的规则列表示例:
rules:
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- DOMAIN-SUFFIX,service.example,ProxyGroup
- PROCESS-NAME,steam.exe,SteamGroup
- GEOSITE,cn,DIRECT
- MATCH,ProxyGroup
mihomo 官方文档把 MATCH 定义为无条件匹配所有请求,因此它应当作为兜底项处理。查看英文版 mihomo 路由规则说明
DNS、fake-ip 与 IP 规则不生效的排查
检查方法:打开最终配置或规则页面,确认域名规则和 IP 规则都已经出现;再查看 DNS 设置中的模式。如果使用 fake-ip,解析结果出现 198.18.0.0/16 范围内的地址可能是配置行为,不应仅凭这个地址判断 DNS 故障。
判断:如果域名规则能命中,但 GEOIP、IP-CIDR 或局域网访问异常,可能与 DNS 解析、no-resolve、fake-ip 过滤或 TUN 接管方式有关。mihomo 文档说明,目标 IP 类规则在域名匹配开始时可能触发 DNS 解析,no-resolve 用于跳过该规则触发的解析。查看 IP 类规则与 no-resolve 说明
处理:先暂时用明确的 DOMAIN 或 DOMAIN-SUFFIX 规则测试,再恢复 GEOIP 或 IP-CIDR;局域网规则通常加 no-resolve,并确认网段没有写错。DNS 相关配置应结合当前模式检查,mihomo 官方 DNS 文档列出了 enhanced-mode、fake-ip-range、fake-ip-filter 和 nameserver-policy 等字段。查看 mihomo DNS 配置文档
如果开启 TUN 后规则仍不生效,要把“规则没有命中”和“流量没有进入 mihomo”分开判断。先在规则页面或连接记录中确认请求是否出现;如果完全没有记录,再检查 TUN、系统授权、服务模式、DNS 劫持和系统代理状态。扩展文档还说明,tun.enable 以及部分 TUN 字段可能由应用设置接管,扩展写入的值不一定最终保留,因此不要只看扩展文件,要看应用生成的最终配置。
规则配置后的验证清单
- 验证规则位置:进入 Clash Verge Rev 的“规则”页面,确认自定义规则已保存,并位于订阅默认规则之前或你预期的位置。
- 验证策略组:检查规则末尾的策略名称是否与代理组页面完全一致,包括大小写、空格和图标字符。
- 验证命中记录:访问目标域名或启动目标应用,再在连接记录中查看请求实际使用的策略组。
- 验证兜底:确认
MATCH位于规则末尾;如果它出现在自定义规则前面,后面的规则可能不会执行。 - 验证更新持久性:手动更新订阅后重新查看规则页面。如果自定义规则消失,说明你改的是订阅原文或使用了旧版字段,应迁移到当前规则编辑器、扩展配置或扩展脚本。
- 验证 DNS:在 Windows 可使用
nslookup example.com,检查解析结果是否符合当前 DNS 模式;命令结果只能辅助判断,不能单独证明规则命中。 - 验证 TCP:Windows 可使用
Test-NetConnection example.com -Port 443检查 TCP 连接。TUN 场景下不要只用ping判断代理是否正常,因为 ICMP 结果不一定代表应用的 TCP 流量路径。
如果规则页面显示已命中,但应用仍无法连接,继续检查节点、DNS、TUN 和系统代理;如果规则页面根本没有目标请求,优先检查应用是否绕过了当前代理或 TUN 是否未接管。
常见错误与修复方法
| 现象 | 可能原因 | 处理方法 |
|---|---|---|
| 规则保存后更新订阅就消失 | 直接修改了订阅原文 | 改用“编辑规则”的 prepend/append,或使用扩展配置、扩展脚本。 |
| 自定义规则存在但不生效 | 规则在 MATCH 后面,或被前面的宽泛规则命中 | 把规则移到 prepend,并检查前面是否有 GEOSITE、GEOIP 或 RULE-SET 抢先匹配。 |
| 提示代理组不存在 | 模板中的策略名只是示例 | 复制代理组页面中的实际名称,包含空格、图标和大小写。 |
| IP-CIDR 规则行为异常 | DNS 解析、fake-ip 或缺少 no-resolve | 先用 DOMAIN-SUFFIX 验证,再按目标 IP 规则补充 no-resolve 并检查 DNS。 |
| 规则页面没有任何连接记录 | 系统代理未开启、TUN 未接管或应用使用了其他网络路径 | 分别检查系统代理、TUN、服务模式和当前应用的网络设置;按系统提示完成管理员或系统授权操作。 |
| 旧 Merge 文件里的 prepend-rules 不生效 | 使用了旧版字段,当前扩展配置处理方式已经变化 | 迁移到规则编辑器中的 prepend/append,或按照当前扩展文档重写。 |
订阅链接、节点链接和包含密码的配置文件不要粘贴到公开论坛、截图或在线转换接口中。排查时优先使用脱敏后的域名、策略名和日志片段。
结论:最稳妥的配置路径
对大多数用户,推荐按照“订阅配置右键菜单 → 编辑规则 → 添加到 prepend → 保存并重新应用 → 规则页面确认顺序 → 连接记录确认命中”的顺序操作。简单规则使用可视化编辑器,复杂配置使用扩展配置或扩展脚本;不要把旧版 prepend-rules、append-rules 模板直接当作当前版本配置。
本文为第三方使用指南,不代表 Clash Verge Rev 项目方或任何订阅服务官方。菜单名称、字段处理和可用规则集可能随版本变化,实际操作请以当前版本界面和官方文档为准。
常见问题
Clash Verge Rev 规则配置入口在哪里?
先在订阅配置列表中找到已经导入的配置文件,右键查找“编辑规则”或类似入口。官方文档当前给出的方式是通过订阅配置卡片进入规则编辑器,再把规则加入 prepend 或 append;具体菜单名称以当前版本界面为准。
Clash Verge Rev 为什么不建议直接修改订阅文件?
订阅文件可能会在更新时重新生成,直接修改的内容可能被覆盖。更适合使用编辑规则、扩展配置或扩展脚本保存自定义内容。修改前建议先备份配置。
prepend 和 append 应该选哪个?
需要优先覆盖订阅规则时选 prepend;只想在订阅规则之后补充内容时选 append。但如果订阅规则中已有 MATCH,append 后面的规则可能没有机会命中,因此具体分流通常优先放 prepend。
DOMAIN、DOMAIN-SUFFIX 和 DOMAIN-KEYWORD 有什么区别?
DOMAIN 匹配完整域名,DOMAIN-SUFFIX 匹配域名及其后缀层级,DOMAIN-KEYWORD 只要域名中包含指定关键词就可能命中。关键词规则范围更宽,建议优先使用明确的 DOMAIN 或 DOMAIN-SUFFIX。
为什么规则里写了代理组名称却提示不存在?
规则末尾的策略名称必须与当前代理组页面中的实际名称完全一致。模板中的 ProxyGroup、Streaming 等只是占位符,需要替换为你的真实代理组名称,并注意空格、大小写和图标字符。
fake-ip 出现 198.18 段地址是不是 DNS 出错?
不一定。mihomo 的 fake-ip 模式会使用配置的 fake-ip-range,看到 198.18 段地址可能是正常配置结果。应结合 DNS 模式、fake-ip-filter、规则命中记录和应用连接情况综合判断。
TUN 开启后规则仍然不生效怎么办?
先看规则页面或连接记录中是否出现目标请求。如果没有记录,优先检查 TUN、服务模式、系统授权、DNS 劫持和系统代理;如果有记录但策略错误,再检查规则顺序、MATCH 位置和代理组名称。