Clash Verge Rev Profile合并 | merge补丁 · 规则优先级 · 企业内网注入

上游订阅往往无法满足企业内网直连、广告过滤补充规则等本地化需求。Verge Rev 的 merge 机制允许在不改动远程 YAML 的前提下叠加补丁。本文用一组三连配置演示合并顺序与规则落点验证。

Clash Verge Rev 配置合并

Clash Verge Rev 三类 Profile 源

  • 远程订阅:HTTP URL,由服务商维护节点与基础规则。
  • 本地文件:完全自控的 YAML,适合固定节点池。
  • merge 补丁:仅含 prepend-rulesappend-rulesprepend-proxy-groups 等增量键。

在配置页为远程 Profile 指定 merge 链:远程 → merge 企业直连 → merge 广告补充。

merge 补丁示例:企业内网直连

# corp-direct.yaml(merge 补丁)
prepend-rules:
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
  - DOMAIN-SUFFIX,corp.example.com,DIRECT

prepend-rules 插入到原规则列表最前,优先级高于订阅自带的 GEOIP 规则,确保内网流量不走代理。

append-rules 与 MATCH 终点

补丁若在末尾追加 MATCH,REJECT 会覆盖订阅原 MATCH 目标,导致未命中规则流量被拒。推荐仅 append 细化规则,保留原 MATCH 或使用 append-rules 添加 DOMAIN-KEYWORD,tracker,REJECT 等明确条目。

append-rules:
  - DOMAIN-KEYWORD,analytics,REJECT
# 勿重复添加 MATCH,除非确认要替换默认出站

合并顺序与冲突处理

Verge Rev 按 UI 中指定的 merge 链顺序依次深度合并。同名 proxy-groups 后者覆盖前者键值。若合并失败(YAML 类型冲突),v1.7+ 会回滚至上一快照并在日志中输出 diff 路径,避免空配置启动内核。

验证合并结果

合并后的运行时文件可在日志目录找到。语法检查:

# 使用安装包内置 clash 二进制
clash-meta -t -f ~/.config/clash-verge/profiles/合并后文件名.yaml
# 输出 configuration file ... test is successful 即通过
预期:configuration file ... test is successful
失败:yaml: line N 报错 → 检查 merge 补丁缩进与重复键

规则落点可用 /connections API 观察内网 IP 是否标记为 DIRECT。

curl -s -H "Authorization: Bearer $SECRET" http://127.0.0.1:9097/connections

多 Profile 切换与托盘联动

可创建多个「远程 + 不同 merge 链」组合,托盘一键切换。切换时执行热重载;若两个 Profile 的 external-controller 端口一致则无需改 secret。注意不同 Profile 的 TUN 开关状态独立保存。

本专题边界

merge YAML 实战与 clash -t 仅本站展开。企业命名、变更单、审计模板 → verge-rev VR-B04。订阅热重载 → 本站订阅专题

返回技术文集目录

查看全部专题