Clash Verge 配置过滤规则:订阅更新后怎么不丢
简答:Clash Verge 配置过滤规则应在订阅右键的“编辑规则”中完成:覆盖订阅用 prepend,补充遗漏用 append,删除原有规则用 delete;MATCH 只能作为最终兜底,不能放进 prepend。
定义:Clash Verge 配置过滤规则,是用域名、IP、站点集合或进程条件匹配流量,再交给 DIRECT、REJECT 或指定代理组处理;节点名称筛选则属于代理组配置。
先分清:你要筛选节点,还是过滤网络流量
很多人改了规则却没有效果,原因不是语法本身,而是把“节点名称筛选”和“流量过滤规则”混在了一起。Clash Verge Rev 是 Clash Verge 的延续,官方文档列出了可视化节点和规则编辑功能,并说明它基于 Mihomo 内核、面向 Windows、macOS 和 Linux 桌面系统,可先查看Clash Verge Rev 官方文档简介。
| 你的目标 | 应该改哪里 | 常用字段 | 如何验证 |
|---|---|---|---|
| 只显示特定地区或线路节点 | 代理组编辑 | filter、exclude-filter | 代理组中的节点列表发生变化 |
| 让指定域名走代理 | 订阅右键“编辑规则” | DOMAIN、DOMAIN-SUFFIX | 连接记录显示目标规则和代理组 |
| 国内站点直连 | 流量规则 | GEOSITE、GEOIP | 连接记录显示规则命中且策略为 DIRECT |
| 拦截广告域名 | 流量规则 | GEOSITE、RULE-SET | 连接记录显示命中且策略为 REJECT |
节点筛选只影响代理组里有哪些节点,不会决定某个网站走直连还是代理。Mihomo 文档说明,filter 和 exclude-filter 作用于引入的代理集合或全部出站代理;它们不是访问域名的匹配规则,可参考Mihomo 代理组配置文档。
30 秒速查:要覆盖订阅规则用 prepend;要补漏用 append;要移除订阅中已有的某行用 delete;MATCH 永远放在最终规则列表末尾。
正确入口:通过“编辑规则”保存,别直接改订阅原始 YAML
打开 Clash Verge Rev 的订阅配置文件列表,右键当前正在使用的订阅,选择“编辑规则”。官方文档明确写出,这个入口编辑的规则不会随着订阅更新而失效;规则按从上到下匹配,命中第一条符合条件的规则后停止。入口和规则说明见Clash Verge Rev 自定义规则文档。
- 确认你修改的是当前实际启用的订阅配置,而不是备用配置。
- 右键该订阅,进入“编辑规则”。
- 需要覆盖订阅已有分流时,添加到
prepend。 - 只想补充订阅遗漏项时,添加到
append。 - 需要移除订阅中已有的某条规则时,在原规则列表中选中并加入
delete,或在高级编辑器中写入完全一致的规则行。 - 保存后重新载入配置,再用明确的域名测试。
不要把完整的顶层 rules:、proxies: 或 proxy-groups: 配置粘进规则编辑器。当前编辑器的高级结构是规则序列,而不是让你重新生成整份订阅配置;项目源码中的规则编辑器状态和序列字段也对应 prepend、append、delete 三类操作,可参考Clash Verge Rev 规则编辑器源码。
如果界面文字与本文略有差异,优先寻找“编辑规则”或高级编辑入口。扩展配置与扩展脚本是另一套配置机制,官方文档说明,较新的版本已将规则的 prepend/append 操作移动到订阅右键菜单的可视化编辑器中,详见扩展配置与脚本文档。
prepend、append、delete 怎么写:不要把 MATCH 放错位置
三类操作的结果可以理解为:先处理前置规则,再接上订阅原有规则,最后追加后置规则;delete 用于移除订阅原有列表中完全匹配的规则。规则本身仍然遵循从上到下的优先级,官方 Mihomo 文档也明确说明,越靠前的规则优先级越高。
| 操作 | 适用情况 | 典型风险 |
|---|---|---|
prepend | 指定域名必须直连、必须代理或必须阻断 | 规则过宽会提前截获订阅中的其他分流 |
append | 订阅没有覆盖某个域名或局域网范围 | 订阅已有 MATCH 时,MATCH 后面的 append 不会命中 |
delete | 移除订阅中明确存在且需要取消的原规则 | 规则行必须与原内容一致,误删可能改变整类流量的走向 |
最重要的顺序规则:MATCH 会匹配所有请求,只能作为最终兜底。不要把 MATCH,代理组名称 放入 prepend,否则它会在订阅规则之前截获全部流量;也不要把补充规则放进一个已经被订阅 MATCH 兜底的位置。规则类型、策略选择和插入位置可核对Clash Verge Rev 自定义规则说明与Mihomo 路由规则文档。
GEOIP、IP-CIDR 等目标 IP 规则还要留意解析行为。Mihomo 文档说明,域名开始匹配目标 IP 规则时可能触发 DNS 解析;如果希望跳过该次解析,可使用 no-resolve。因此,宽泛的 GEOIP,CN,DIRECT 不要无条件塞进 prepend,先确认它不会抢在订阅已有域名规则之前。
prepend:
- "DOMAIN-SUFFIX,example.com,Proxy"
- "IP-CIDR,192.168.0.0/16,DIRECT,no-resolve"
- "IP-CIDR,172.16.0.0/12,DIRECT,no-resolve"
- "IP-CIDR,10.0.0.0/8,DIRECT,no-resolve"
- "GEOSITE,category-ads-all,REJECT"
append:
- "GEOSITE,cn,DIRECT"
delete:
- "DOMAIN-KEYWORD,old-rule,Proxy"上面只是编辑器中的序列示例,不是完整订阅文件。Proxy 必须替换为当前订阅里真实存在的策略组名称;delete 中的示例也必须换成订阅原列表中确实存在、且需要删除的完整规则行。若订阅已有 MATCH,append 中的国内直连规则不会命中,此时应先检查原有规则,决定是使用 prepend 覆盖,还是不再重复添加。
规则类型选择:从精确匹配开始,逐步扩大范围
| 规则类型 | 匹配对象 | 适合场景 | 误匹配或副作用 |
|---|---|---|---|
DOMAIN | 完整域名 | 只处理一个确定域名 | 不会自动覆盖其他子域名 |
DOMAIN-SUFFIX | 域名后缀及其子域名 | 处理一个站点和它的子域名 | 范围比 DOMAIN 更大 |
DOMAIN-KEYWORD | 域名中包含的关键词 | 确实存在稳定关键词的一组域名 | 关键词过短时容易误匹配,不适合直接照搬广告示例 |
GEOSITE | 站点集合 | 国内站点、流媒体或广告分类 | 实际范围取决于当前使用的站点数据 |
IP-CIDR | 目标 IPv4 网段 | 局域网、私有网段或明确地址段 | 可能触发 DNS 解析,可按需求添加 no-resolve |
GEOIP | 目标 IP 的地区代码 | 作为域名规则之后的补充分流 | 范围较宽,不宜无条件放在前置位置 |
RULE-SET | 规则集合 | 复用一组本地或远程维护的规则 | 必须同时存在对应的规则集合声明 |
PROCESS-NAME | 应用进程名 | 按桌面应用分流 | 进程名称必须与系统实际显示一致 |
建议顺序是:能写完整域名,就不要先用关键词;能用明确后缀,就不要立即扩大到 GEOIP;规则数量较多或需要持续维护时,再考虑 RULE-SET。Mihomo 官方路由规则文档列出了这些规则类型及其匹配对象,可参考路由规则文档。
国内直连可以从 GEOSITE,cn,DIRECT 开始,但它放在 prepend 还是 append,取决于订阅原本的规则顺序:没有 MATCH 且只是补漏时可考虑 append;需要覆盖订阅分流时才使用 prepend,并接受它会提高优先级。局域网直连则建议明确覆盖 192.168.0.0/16、172.16.0.0/12 和 10.0.0.0/8 等私有网段。
节点名称筛选:不要把关键词写成 DOMAIN-KEYWORD
如果你的目标是“只保留某些节点”,不要在规则编辑器里写 DOMAIN-KEYWORD,香港,Proxy。这会匹配访问域名,而不是筛选节点。正确方向是在代理组编辑中设置 filter 或 exclude-filter,并确保该代理组确实引入了代理集合或全部出站代理。
- 打开当前订阅的代理组列表,找到需要筛选节点的策略组。
- 进入代理组编辑,确认该组通过
use、include-all、include-all-proxies或其他方式引入节点。 - 在
filter中填写关键词或正则,例如(?i)港|hk|hongkong。 - 在
exclude-filter中排除测试、过期等明确关键词。 - 保存当前订阅配置,重新载入后观察代理组列表是否只剩目标节点。
proxy-groups:
- name: "Hong Kong Nodes"
type: select
use:
- provider1
filter: "(?i)港|hk|hongkong"
exclude-filter: "测试|过期"这段示例属于代理组配置,不要粘到“编辑规则”的 prepend/append 区域,也不要另起一份带占位订阅地址的完整配置。Mihomo 文档说明,filter 只作用于引入的代理集合或全部出站代理;策略组名称如含特殊字符,应使用引号包裹。具体字段可查看Mihomo 代理组配置文档。
如果当前客户端界面没有代理组编辑入口,不要凭空添加顶层 proxy-groups 覆盖订阅。优先使用该订阅对应的扩展配置或扩展脚本入口;节点筛选与流量规则是两个独立问题,不能用一条规则互相替代。
改完不生效:用 3 步定位规则命中
第一步:看连接记录中的命中规则
- 保存规则并重新载入当前配置。
- 访问一个只会触发目标规则的明确域名。
- 打开连接记录,查看命中的规则类型、规则内容和最终策略。
如果连接记录显示命中了订阅原有规则,通常说明自定义规则没有进入前置位置,或者你写在 append 中但前面已经有 MATCH。网页能够打开只能说明连接成功,不能证明命中了预期策略。
第二步:核对策略组名称
规则末尾的策略字段必须是 DIRECT、REJECT 或当前订阅中真实存在的策略组名称。含空格、表情符号和大小写差异的名称都要完整保留,不要根据记忆手写。若策略组名称不存在,规则可能无法按预期执行。
第三步:检查规则范围和运行模式
- 暂时只保留一条精确的
DOMAIN或DOMAIN-SUFFIX规则测试。 - 暂时移除宽泛的
GEOIP、GEOSITE或DOMAIN-KEYWORD规则,避免它们提前命中。 - 确认客户端处于 Rule 模式,而不是 Global 或 Direct 模式。
- 如果连接记录没有出现目标请求,再检查系统代理或 TUN 是否实际接管了该应用流量。
结论框:规则不生效时,先看连接记录命中了什么,再核对策略组名称,最后检查 prepend 是否误放了 MATCH;这三步比反复改关键词更快定位问题。
连接异常自查清单
- 订阅更新后规则消失:确认是否通过订阅右键的“编辑规则”添加,而不是直接改订阅原始 YAML。
- append 规则不生效:检查订阅原规则末尾是否已有
MATCH;有的话,MATCH 后的追加规则不会命中。 - 所有流量都走同一个策略:检查 prepend 中是否误写了
MATCH。 - 删除操作没有效果:核对 delete 中的规则行是否与订阅原规则完全一致,包括规则类型、域名、策略组名称和
no-resolve。 - 国内规则影响其他分流:检查是否把宽泛的
GEOSITE,cn,DIRECT或GEOIP,CN,DIRECT放在订阅已有域名规则之前。 - 局域网无法直连:检查是否覆盖了
192.168.0.0/16、172.16.0.0/12和10.0.0.0/8,并确认请求确实经过客户端。 - 节点筛选后代理组为空:放宽
filter,检查正则是否匹配节点实际名称,并确认代理组已经引入代理集合。 - 广告规则误拦截:优先使用明确的站点集合或完整域名,不要直接照抄过短的
DOMAIN-KEYWORD。
如果仍然无法判断,先恢复到只含一条精确规则的最小配置,再逐条加回规则。这样可以把“语法错误、顺序冲突、策略组名称错误和客户端未接管流量”分开排查。
常见问题
Clash Verge 配置过滤规则应该在哪里添加?
打开订阅配置文件列表,右键当前订阅选择“编辑规则”。覆盖订阅用 prepend,补充遗漏用 append,删除原有规则用 delete;不要直接改订阅原始 YAML。
prepend 和 append 哪个更适合自定义规则?
需要覆盖订阅已有分流时用 prepend;只想补漏时用 append。但如果订阅已有 MATCH,写在它后面的 append 规则不会命中。
为什么 MATCH 不能放在 prepend?
MATCH 不需要条件,会匹配所有请求。放在 prepend 后,后面的订阅规则和其他自定义规则都没有机会匹配,所以它只能作为最终兜底。
节点名称筛选和流量过滤有什么区别?
节点名称筛选作用于代理组,使用 filter 或 exclude-filter;流量过滤作用于访问请求,使用 DOMAIN、GEOSITE、GEOIP、RULE-SET 等规则。
GEOIP,CN,DIRECT 可以直接放进 prepend 吗?
不建议无条件照搬。GEOIP 属于目标 IP 规则,可能触发 DNS 解析并提前截获流量。先确认不会覆盖订阅已有域名规则,再决定是否使用。
delete 删除规则时为什么没有效果?
先确认原规则确实存在,再检查 delete 中的整行内容是否完全一致,包括规则类型、目标、策略组名称和 no-resolve 等参数。
规则写了代理组名称但没有生效怎么办?
在当前订阅配置中核对代理组完整名称,包括空格、大小写和特殊符号;然后查看连接记录中的实际命中规则和策略,不要只看网页是否能打开。
相关阅读
参考资料
- Clash Verge Rev Docs:简介与项目特性(clashverge.dev)
- Clash Verge Rev Docs:自定义规则(clashverge.dev)
- Clash Verge Rev Docs:扩展配置与脚本(clashverge.dev)
- Mihomo Docs:路由规则
- Mihomo Docs:代理组配置
- Clash Verge Rev:规则编辑器源码