Clash Verge 全局扩展配置详解:一次覆写所有订阅(Rev v2.x)

搜「Clash Verge 全局扩展配置」的人,通常是想一次性给所有订阅都改某个设置(比如统一 DNS、统一端口),而不想每个订阅分别改。这正是「全局扩展配置」的用途。本文讲清它的机制和可复制示例。

本文以 Clash Verge Rev v2.x 为准。

概念:两种类型 × 两级作用域 #

Clash Verge Rev 用「扩展」来修改最终生效的配置,分两种类型、两级作用域:

扩展配置(YAML)扩展脚本(JavaScript)
作用对配置项覆写 / 合并用代码灵活调整配置对象
全局全局扩展配置:对所有订阅生效全局扩展脚本:对所有订阅生效
订阅订阅扩展配置:只对该订阅生效订阅扩展脚本:只对该订阅生效

执行链顺序(后面的可覆盖前面的):

全局扩展配置 → 全局扩展脚本 → 订阅扩展配置 → 订阅扩展脚本

⚠️ 重点:v1.7.x 起,「扩展配置」仅用于配置项的覆写/合并(改 DNS、端口、开关、代理组等)。加规则不再用 prepend-rules,请去 右键订阅 → 编辑规则

在哪里打开 #

  • 全局:在「订阅(Profiles)」页顶部找到「全局扩展配置 / 全局扩展脚本」入口。
  • 订阅级右键对应订阅卡片 → 选择「编辑(扩展配置 / 扩展脚本)」。

扩展配置能做什么:覆写 / 合并示例 #

「扩展配置」是一段 YAML,你写的顶层键会合并进最终配置(同名键覆写、映射型合并)。常见用法:

示例 1:全局统一 DNS、关闭统一延迟(写进全局扩展配置,对所有订阅生效)

dns:
  enable: true
  ipv6: true
  nameserver:
    - https://223.5.5.5/dns-query
    - https://1.1.1.1/dns-query
unified-delay: false

示例 2:统一改混合端口、允许局域网连接

mixed-port: 7890
allow-lan: true

示例 3:只给某个订阅单独覆写(写进该订阅的“订阅扩展配置”)

find-process-mode: always

保存后刷新订阅即可。由于这些写在扩展里、独立于订阅文件,更新订阅不会丢

想加规则 / 节点 / 代理组? #

这些不在扩展配置里写(v1.7.x 起 prepend/append 已移走):

  • 加规则:右键订阅 → 编辑规则(prepend/append)。完整教程见 Clash Verge 添加规则 / 自定义规则
  • 加节点 / 代理组:右键订阅 → 编辑节点 / 编辑代理组。
  • 或用扩展脚本config.rules / config.proxies / config["proxy-groups"] 上动态增删。

扩展脚本(简述) #

需要条件判断、批量生成时用扩展脚本(JavaScript,运行于 quickjs,无文件系统访问):

function main(config) {
  // 例:给所有订阅强制关闭 ipv6 dns
  config.dns = config.dns || {};
  config.dns.ipv6 = false;
  return config;
}

放进「全局扩展脚本」就对所有订阅生效。

不生效排查 #

现象原因 / 解决
改了没反应没刷新——重新选中订阅或重连内核
全局被订阅覆盖执行链靠后的订阅扩展覆盖了全局——检查是否在某订阅里改了同一项
prepend-rules 无效v1.7.x 起扩展配置不加规则——改用 编辑规则
脚本报错、整项变红脚本抛异常会被跳过——检查 main 是否 return config、语法是否正确

相关内容推荐 #