规则覆写 Merge扩展 Script脚本 JavaScript 高阶玩法 审核:ClashWiki 网络协议组 · 阅读约 25 分钟 · 发布于 2026-05-07 · 实验室核验:2026-06-01

Clash Verge 规则覆写怎么用?Script 与 Merge 扩展语法说明

进阶极客必修课:解耦机场订阅与个人分流需求。深入讲解 Verge 的 Merge(YAML 合并覆盖)与 Script(JavaScript 编程控制)扩展机制,教你编写永久生效的自定义直连规则、广告拦截清单与外部 DNS 覆写模块,更新订阅永不丢失。

⚡ 直接解答 / 极速核心结论(AEO 快速参考):

【Clash Verge 规则覆写(Merge & Script)进阶指南】解决「每次更新机场订阅,自定义规则就被冲掉」的核心武器。两大覆写机制与选型:① Merge(YAML 键值合并,推荐 80% 场景):基于标准 YAML 声明式语法,自动与订阅配置执行深度递归合并,语法简单直观,适合向 rules 顶部插入自定义直连域名、广告拦截或重写 DNS 参数;② Script(JavaScript 脚本,适合复杂逻辑):利用内置 JS 引擎对完整配置对象(config)进行动态 AST 编程修改,支持条件过滤、正则匹配与高级排序;覆写机制独立于订阅文件存在,机场订阅无论更新多少次,个人规则永久自动生效!

深网实测雷达 · 场景化节点推荐

新手友好 · 一键导入高性价比订阅

入门推荐 · 平价大流量 · 零门槛

针对初次上手 Clash 的新手读者,严选提供一键导入客户端支持、套餐资费亲民且有详尽文档指引的服务商。

无忧链接

2025 运营 · 主流亚太美洲节点
IEPL
门槛资费 ¥6 /月起
晚高峰丢包 0.0%
订阅链接无需转换,原生自适应 iOS / 安卓 / Windows / Mac
专属码: wuyou666
直达官网开通 ↗
(含赞助返利 · 不影响购买价格)
查看深度评测报告 →

二猫云

2023 运营 · 常用优化节点
IEPL
门槛资费 ¥20 /月起
晚高峰丢包 0.0%
20元档位给到 130GB 流量(比常规120GB多出10GB)
专属码: ermao5555
直达官网开通 ↗
(含赞助返利 · 不影响购买价格)
查看深度评测报告 →

唯兔云

2023 运营 · 60+ 纯净节点
IEPL
门槛资费 ¥14.9 /月起
晚高峰丢包 0.0%
60+ 丰富节点资源,覆盖广
专属码: weitu666
直达官网开通 ↗
(含赞助返利 · 不影响购买价格)
查看深度评测报告 →
💡 所有推荐均通过深网自动化测速探针实测,支持各大主流客户端一键导入。
📑 本篇技术目录导引
  • 01. 1. 痛点觉醒:为什么每个高级玩家都必须学会规则覆写?
  • 02. 2. 机制一:Merge(YAML 声明式合并)实战代码
  • 03. 3. 机制二:Script(JavaScript 编程控制)高阶玩法
  • 04. 4. 覆写生效与链式调试排错
  • 05. 5. 掌控规则后的专线架构升华
  • 06. 6. 专家级覆写维护铁律
  • FAQ. 常见疑问与故障排查解答

1. 痛点觉醒:为什么每个高级玩家都必须学会规则覆写?

几乎每一个深度使用 Clash 的用户,都曾遭遇过这个极其崩溃的恶性循环: 1. 你购买了某家机场的订阅,发现某几个公司内部网站或者小众论坛被误分流到了海外代理; 2. 你辛辛苦苦在配置文件里手写了五六条 `DOMAIN-SUFFIX,xxx.com,DIRECT` 直连规则; 3. 第二天机场后台更新了节点,你在客户端顺手点击了一次「更新订阅」; 4. **轰!你昨天辛辛苦苦写的所有自定义规则,被机场下发的新文件瞬间全部抹除覆盖!** **规则覆写(Rules Override)的降维打击:** Clash Verge Rev 引入了配置管道流(Configuration Pipeline)架构: $$\text{远程机场订阅 (只读)} \xrightarrow{} \text{本地覆写管道 (Merge / Script)} \xrightarrow{} \text{最终运行配置 (Runtime Config)}$$ - 你的个人意志独立保存在本地扩展中; - 机场更新一百次,你的自定义分流、私有 DNS、广告拦截规则依然稳如泰山!
💡 学会规则覆写,你才真正拥有了对客户端的 100% 控制权。

2. 机制一:Merge(YAML 声明式合并)实战代码

Merge 扩展是绝大多数场景下的最佳选择,它采用简洁明了的 YAML 语法。 ### 实战:在所有规则顶部强制插入个人直连与广告拦截 进入 Verge「订阅(Profiles)」-> 点击右上角「新建」-> 类型选择 **「Merge」**,填入以下代码:
yaml
# 生产级 Merge 扩展标准示范
# 插入自定义规则置于最顶部(prepend-rules 机制)
prepend-rules:
  # 1. 强制直连内网与公司私有域名
  - DOMAIN-SUFFIX,mycompany.internal,DIRECT
  - DOMAIN-KEYWORD,internal-service,DIRECT
  - IP-CIDR,10.10.0.0/16,DIRECT,no-resolve

  # 2. 强力拦截常见广告与遥测收集
  - DOMAIN-SUFFIX,telemetry.microsoft.com,REJECT
  - DOMAIN-KEYWORD,adservice,REJECT

  # 3. 针对特定开发平台强制指定美国专线
  - DOMAIN-SUFFIX,anthropic.com,美国-IEPL-01

# 覆写全局 DNS 模块
dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
💡 prepend-rules 会自动将你的规则插入到列表最前列,享受最高优先级单匹配终止。

3. 机制二:Script(JavaScript 编程控制)高阶玩法

如果你需要根据正则匹配动态过滤几百个节点,或者根据延迟进行复杂排序,JavaScript 脚本能赋予你无限可能。 ### 实战:通过 JS 动态清洗节点列表并剔除垃圾节点 进入 Profiles -> 新建类型选择 **「Script」**:
javascript
// 生产级 Script 扩展 JavaScript 代码
function main(config) {
  // 1. 打印当前配置基础信息
  console.log("正在执行自定义 JS 规则覆写管道...");

  // 2. 动态过滤掉名字里带有 "测试" 或 "官网" 的无效垃圾节点
  if (config.proxies) {
    config.proxies = config.proxies.filter(proxy => {
      return !proxy.name.includes("官网") && !proxy.name.includes("请勿连接");
    });
  }

  // 3. 向 rules 顶部无缝插入自定义规则数组
  const myCustomRules = [
    "DOMAIN-SUFFIX,linux.do,DIRECT",
    "DOMAIN-SUFFIX,deepseek.com,DIRECT"
  ];
  config.rules = [...myCustomRules, ...(config.rules || [])];

  // 4. 返回修改后的终极配置对象
  return config;
}

4. 覆写生效与链式调试排错

编写完 Merge 或 Script 后,必须将其绑定到活动配置上: 1. 在 Profiles 界面中,右键点击你正在使用的主机场订阅卡片; 2. 选择 **「扩展配置 / 覆写(Overrides)」**; 3. 勾选刚才创建的 Merge 或 Script 扩展; 4. 点击右键选择 **「重新加载(Reload)」**; 5. 在左侧 Connections 面板中观察访问 `mycompany.internal` 是否已成功命中 DIRECT 直连!
💡 可以在扩展卡片上右键选择「查看合并后的配置」,直观检查代码注入是否成功。

5. 掌控规则后的专线架构升华

当你能用 Merge 和 Script 随心所欲操控每一个数据包的流向时,你已经成为了顶尖的网络架构师。 **顶级架构师更懂得为系统挑选最高级的底座:** - 将零碎的规则覆写收拢,搭配具备 **极高 SLA 的 IEPL / IPLC 专线服务商**; - 专线机场节点纯净、命名规范、协议前沿,你的覆写脚本无需天天修修补补,真正达到架构的极致优雅与永续稳定。
💡 本站推荐的专线机场节点命名标准化程度极高,非常适合编写自动化正则匹配脚本。

6. 专家级覆写维护铁律

1. **永远使用 prepend-rules**:在 Merge 中使用 prepend-rules 而非全量覆写 rules,以防丢弃机场下发的庞大白名单规则集; 2. **谨慎使用 REJECT 拦截**:不要盲目订阅过于庞大的广告拦截规则集,容易导致部分国内 App 页面白屏崩溃; 3. **备份你的 js 与 yaml 脚本**:把调试好的脚本单独存入私人 GitHub Gist 备份。

❓ 常见疑问与排查步骤

Merge 覆写和 Script 覆写可以同时开启吗?

完全可以!Clash Verge 支持管道流链式覆写。执行顺序通常是:先执行 YAML Merge 合并,再将合并后的配置对象传入 Script 脚本进行 JS 动态二次加工。

为什么我写的 Merge 规则没有生效?

检查你的规则是否使用了两个半角空格缩进(严禁使用 Tab),以及是否将该 Merge 扩展勾选绑定到了当前的活动订阅卡片上。

prepend-rules 和 append-rules 有什么区别?

prepend-rules 将规则插入到最顶部(优先匹配);append-rules 将规则追加到最末尾(在所有默认规则未命中时才生效)。由于 Clash 规则遵循单匹配即终止原则,个人自定义规则通常必须用 prepend-rules。

JS 脚本里可以使用外部 npm 依赖包吗?

不支持。内置的 JS 运行环境是轻量级 QuickJS/Deno 引擎,仅支持标准 ES6 基础语法与核心对象,不支持引用外部复杂的第三方法包。

更新 Clash Verge 软件版本,我写的覆写脚本会丢失吗?

绝对不会。所有覆写脚本安全持久化存储在用户 AppData 目录的 profiles 文件夹中,软件升级绝不触碰该文件夹。

想要体验晚高峰 0 丢包的极致速度?

已为您筛选 28 家经过 7×24 小时并发稳定性压测的物理专线机场。

查看 2026 专线机场天梯榜 →