↓ 跳过正文
  1. 文章/

Mihomo 覆写脚本怎么用?改 DNS、改节点名、追加规则一次搞定

·1123 字·3 分钟
作者
吾便宜

机场给的订阅配置是只读的:你不能直接改它,但每次想换个 DNS、给节点统一改名、追加几条自己的规则时,手动改配置又会在下次更新订阅时被覆盖。覆写脚本就是解决这个问题的办法:订阅更新后、配置生效前,脚本先把配置按你的要求改一遍。

Mihomo 覆写脚本

原理:配置生效前先过一遍你的脚本
#

Mihomo Party、Clash Verge Rev 这类客户端都支持覆写(override):你写一段 JavaScript,接收完整的配置对象,改完返回。客户端按“订阅配置 → 覆写脚本 → 生效配置”这个顺序处理,所以脚本的修改每次更新订阅后都会重新应用,不会被覆盖。

理解这一点就够了:覆写不是改订阅,而是给订阅加一层你自己的加工。订阅本身永远保持原样,随时可以关掉覆写回到原始配置。

脚本一:统一换 DNS
#

机场默认 DNS 不一定合你意,换成自己信任的 DoH 或 DoT 可以减少 DNS 泄露风险。脚本思路是直接改配置里的 dns 一节:

function main(config) {
  config.dns = {
    "enable": true,
    "ipv6": false,
    "nameserver": ["https://dns.alidns.com/dns-query", "https://doh.pub/dns-query"],
    "fallback": ["https://dns.google/dns-query"]
  };
  return config;
}

DNS 泄露的完整自查方法见 DNS 与 WebRTC 泄露自查,换 DNS 只是其中一步,配合 TUN 模式效果更好。

脚本二:给节点名加前缀
#

节点一多,名字混在一起很难找。按机场名或地区加前缀,列表立刻清晰:

function main(config) {
  const prefix = "主用";
  config.proxies.forEach(p => {
    if (!p.name.startsWith(prefix)) p.name = prefix + " | " + p.name;
  });
  return config;
}

注意:改名后代理组里的引用要同步处理。Mihomo Party 的覆写执行时会自动处理组内引用,但如果你在脚本里同时改了组结构,最好改完检查一次分组是否完整,避免出现引用了不存在节点的空组。

脚本三:追加自己的规则
#

远程规则集再全,也总有个人需求覆盖不到。把自己的规则插到规则列表最前面,优先级最高:

function main(config) {
  const myRules = [
    "DOMAIN-SUFFIX,example.com,DIRECT",
    "DOMAIN-KEYWORD,adblock,REJECT"
  ];
  config.rules = myRules.concat(config.rules || []);
  return config;
}

规则的匹配逻辑是自上而下、第一条命中即生效,所以自己的规则放最前面才能确保生效。规则类型的完整说明见 Clash 分流规则详解。

新手注意三个坑
#

1. 脚本报错会导致配置整体失效。 写脚本先从最小的改动开始,改完验证一次再加下一项。一次改十处、报错后很难定位是哪处的问题。

2. 不要在脚本里硬编码节点名。 节点名会随机场更新变化,硬编码的名字下次更新就可能对不上。用前缀匹配、正则匹配比精确匹配耐用。

3. 覆写和手动改配置不要混用。 手动改生效配置会在下次订阅更新时丢失,养成“所有定制都走覆写”的习惯,配置管理才不会越来越乱。

和基础教程的关系
#

如果你还没用过 Mihomo Party,先看 Mihomo Party 使用教程 把导入订阅和基本操作跑通,再回来看覆写。覆写是进阶能力,建立在理解代理组、规则、分流模式的基础上。遇到导入失败、节点异常这类基础问题,先按 Clash Verge 订阅导入失败排查 和 代理已连接却没网排查 处理,不要用覆写去掩盖基础问题。

小结
#

覆写脚本的价值就一句话:订阅是别人的,定制是自己的。用脚本把 DNS、命名、规则这三类个人需求固化下来,订阅随便更新,你的配置永远是你想要的样子。

相关文章

油猴脚本 2024:Tampermonkey 入门

·1133 字·3 分钟
浏览器只装一个插件的话,我选油猴(Tampermonkey)。它本身什么都不做,但装上脚本之后:去广告、下载视频、自动展开全文、网盘自动填密码……全是免费的。这篇是 2024 年的入门复盘,记录安装流程、我的常用脚本清单,以及踩过的 3 个坑。

流媒体解锁失败?奈飞、迪士尼分流与 DNS 排查

·1375 字·3 分钟
流媒体解锁失败是最让人困惑的故障之一:代理明明开着、别的网站都正常,偏偏奈飞、迪士尼提示"不在服务区"或"检测到代理"。其实解锁只取决于三件事:出口 IP 的地区、DNS 解析走哪条路、分流规则有没有把流媒体域名送进代理。按这个顺序查,大多数问题都能定位。

一句话就能剪出成片?开源项目 OpenMontage 把 AI 剪视频卷到新高度

·2412 字·5 分钟
AI 剪视频这条赛道,最近出了一个让人有点坐不住的开源项目:OpenMontage。它不是再给你一个"帮你剪"的工具,而是直接把一整个制作流程交给了 AI Agent——你丢一句话进去,脚本、素材、配音、字幕、成片,全套跑完。本文灵感来自 @dandanetha 的一篇帖子,我去 GitHub 上核实了项目本身再写:帖子说它 4.2 万星,我核实时已经冲到 7.3 万星、9,600 多个 fork,热度还在涨。