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、语法是否正确 |
相关内容推荐 #
- 加自定义规则:Clash Verge 添加规则 / 自定义规则教程
- 全局代理:Clash Verge TUN 模式设置
- 界面美化:Clash Verge 主题与自定义 CSS
- 新手入门:Clash Verge 官网中文教程
- 版本说明:Clash Verge Rev 与原版区别