Featured image of post Clash Verge 开机自启与 DNS 持久化

Clash Verge 开机自启与 DNS 持久化

记录两个 Clash Verge 的小问题:开机自启失效的注册表修复,以及订阅更新后 DNS 设置被覆盖的持久化方案。

开机自启:注册表修复

Clash Verge 自带的「开机自启」偶尔失效,可以直接写注册表解决:

1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "Clash Verge" /t REG_SZ /d "\"D:\Program Files (x86)\Clash Verge\clash-verge.exe\" --startup" /f

路径按自己的安装位置改;--startup 参数让它静默启动。

DNS 持久化:脚本方案

原理

订阅里自带的 DoH 设置每次更新都会把手动改的 DNS 冲掉。解决办法是在当前订阅的脚本 profiles/srYK3khjjwDv.jsmain() 函数开头加入 DNS 覆盖逻辑:

1
2
3
4
5
config.dns.nameserver = ["223.5.5.5", "119.29.29.29"];
config.dns["proxy-server-nameserver"] = ["223.5.5.5", "119.29.29.29"];
config.dns["direct-nameserver"] = ["223.5.5.5", "119.29.29.29", "114.114.114.114"];
config.dns["direct-nameserver-follow-policy"] = true;
config.dns["nameserver-policy"] = { "geosite:cn,geolocation-cn": ["223.5.5.5", "119.29.29.29"] };

⚠️ srYK3khjjwDv.js 是当前订阅的脚本文件名,不同订阅名字不一样,按自己的来。

为什么这能持久化

  1. Clash Verge 的加载顺序:订阅 → Merge → Script → 最终配置
  2. Script.js 在每次订阅更新 / 重启核心时都会执行
  3. 脚本直接修改 config 对象,订阅里的 DoH 设置会被覆盖
  4. 不管订阅怎么更新,脚本始终在最后一步强制改 DNS
最后更新于 Aug 15, 2026 00:08 +0800
小哀不是小林
使用 Hugo 构建
主题 StackJimmy 设计