Clash Verge 规则设置:怎样在不破坏订阅的前提下加规则
直接改订阅配置会在下次更新时丢失,更稳妥的做法是用"扩展配置"叠加。
Clash Verge 规则设置的稳妥做法是使用扩展配置(Merge):它在订阅配置之上叠加你自己的规则,订阅更新后你的规则依然保留。
为什么不直接改订阅
订阅配置每次更新都会被服务商返回的内容覆盖。手改的规则会在更新后消失,这是很多人"规则突然失效"的原因。把自己的规则放在扩展配置里,就可以避免。
在订阅规则之前追加规则
prepend-rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- DOMAIN-KEYWORD,mydomain,Proxyprepend 表示"加在订阅规则前面",所以它们的优先级更高。如果想加在后面,可以用 append 对应的写法。注意策略名(如 DIRECT、Proxy)要和订阅里已有的策略组名称一致。
操作步骤
打开扩展配置
在"订阅"页面里,对当前订阅选择扩展配置(Merge)入口。
预期画面出现一个文本编辑器,里面可能是空的或有示例注释。
写入规则
粘贴上面的写法,把域名和策略改成你自己的。
保存并重新应用订阅
保存后,客户端会重新生成最终配置。
写错缩进或字段名会导致配置加载失败,客户端通常会在日志里提示。
验证
访问对应域名,在"连接"页面查看它命中的是哪条规则。
排错顺序
- 先看日志,确认配置有没有加载成功。
- 确认策略名与订阅里一致。
- 用"连接"页面看到实际命中的规则,再回头调整顺序。
Merge 与 Script 有什么区别
扩展配置通常有两种写法:Merge 是"声明式"的,你用固定的字段把要追加或覆盖的内容写进去,客户端负责合并;Script 是"脚本式"的,用一段脚本对最终配置做任意修改,灵活但更容易写错。对大多数只想加几条规则、加一个策略组的用户,Merge 就足够了,也更好维护;只有当需求复杂到需要根据条件动态修改配置时,才值得学 Script。
追加一个自己的策略组
除了追加规则,扩展配置也可以追加策略组,比如把你常用的几个节点单独放进一个组,再让特定规则指向它。写法的关键是:组的名字要在规则里被引用,组里的节点名称要和订阅里的完全一致,否则合并后会提示找不到节点。
prepend-proxy-groups:
- name: 常用节点
type: select
proxies:
- 节点A
- 节点B
prepend-rules:
- DOMAIN-SUFFIX,example.com,常用节点规则集在客户端里怎么引用
如果想引用远程规则集,需要在扩展配置里同时声明规则集本身(它的地址、类型和更新间隔),再在规则里引用它的名字。两者缺一不可:只写规则不声明规则集,会提示找不到;只声明规则集不在规则里引用,则不会有任何效果。声明时的 behavior 要与规则集内容的类型一致,否则加载会失败。
调试的顺序
- 保存扩展配置后,先看日志有没有加载错误。
- 确认最终生效的配置里,你的规则出现在预期的位置。
- 访问目标网站,在连接页面看命中的规则。
- 出问题时,先临时清空扩展配置,确认订阅本身正常,再逐条加回来。
养成一个习惯:每次修改只改一处,改完立刻验证,并把能用的版本备份起来。扩展配置里一个缩进错误就可能让整份配置加载失败,备份能让你在几秒钟内回到可用状态。
规则的"可读性"也很重要
随着你添加的规则越来越多,扩展配置会逐渐变长。为了日后维护方便,建议养成"写注释、分组、排序"的习惯:用注释说明每条规则的用途,按类别分组放置,同类规则放在一起。半年之后,当你想修改某条规则却忘了为什么写它时,注释会救你一命。可读性好的配置,维护成本低,出错概率也小。
关于「Clash Verge规则设置」的常见问题
扩展配置会影响订阅更新吗?
不会。订阅照常更新,扩展配置每次在更新后重新叠加。
规则写好了为什么没生效?
先确认前面是否已有规则抢先命中了同一个连接,规则是自上而下匹配的。
扩展配置会不会让订阅更新失败?
不会影响更新订阅本身,但如果合并后的配置有语法错误,客户端可能无法加载最终配置。出现这种情况,先清空扩展配置验证。
Clash Verge扩展配置和Clash Verge Merge是什么?
它们是在不改动订阅原文件的前提下追加或覆盖配置的机制:Merge 用来合并自定义字段,脚本用来做更复杂的处理。这样订阅更新之后,你的自定义规则不会被覆盖。