1. 痛点觉醒:为什么每个高级玩家都必须学会规则覆写?
2. 机制一: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 3. 机制二: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. 覆写生效与链式调试排错
5. 掌控规则后的专线架构升华
6. 专家级覆写维护铁律
❓ 常见疑问与排查步骤
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 文件夹中,软件升级绝不触碰该文件夹。