wonfen:Clash Verge Rev 关闭 DNS 覆写后 TUN 失效源于基础配置残留 dns 段

wonfen 在 Clash Verge Rev issue #8122(订阅自带 dns 段时「DNS 覆写」被自动关闭后 TUN 一开全机 DNS 瘫痪)中说明:问题不是关闭 DNS 覆写剥掉了订阅的 dns;关闭时 Verge 不读 dns_config.yaml,也不改订阅的 dns。用户所贴 806 字节文件应是基础配置 config.yaml 而非运行时配置,其中残留 dns: {enhanced-mode: redir-host},生成配置时会整段覆盖订阅的 dns;该段没有 enable: true,内核 DNS 处于关闭状态,开启 TUN 后劫持来的查询无人回答。此前覆写开启时 dns_config.yaml 盖住了这段残留,所以未出问题。临时解决办法:退出 Verge,删除 ~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/config.yaml 中的 dns: 段后重启。wonfen 还表示手动修改 verge.yaml 的 enabled 会被还原属设计如此,需在界面确认一次才会开启覆写;v2.5.7 已改进为重启后不丢失开关状态。

作者原文

原因不是关闭 DNS 覆写剥掉了订阅的 dns。关闭时 Verge 不读 dns_config.yaml,也不改订阅的 dns。

你贴的 806 字节文件应该是基础配置 config.yaml,不是运行时配置。它残留了 dns: {enhanced-mode: redir-host},生成配置时会整段覆盖订阅的 dns。这段里没有 enable: true,内核 DNS 是关的,开 TUN 后劫持来的查询没人回答。以前覆写开着,dns_config.yaml 把这段残留盖住了,所以没出问题。

临时解决:退出 Verge,删掉 ~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/config.yaml 里的 dns: 段,再重启。

请贴一下删之前的 config.yaml),我想确认这段残留是怎么写进去的

另外,手动改 verge.yaml 的 enabled 会被还原,这是设计如此:要在界面上确认一次才会开启覆写。

v2.5.7已改进为重启后不会丢失开关状态