Mihomo v1.19.33 更新了什么?TUN、DNS 与升级注意事项
简答:Mihomo v1.19.33 主要新增 TUN 的 dns-mode,并修复 DoH 请求堆积、代理链循环检测、Fake-IP 重载和 crypto/tls 安全问题。已有配置通常可先备份后直接替换内核,再按 TUN、DNS、节点和日志逐项验证。
定义:Mihomo v1.19.33 是 Mihomo 项目于 2026 年 10 月 21 日发布的版本,更新重点集中在 TUN 的系统 DNS 配置、连接稳定性、安全修复和若干维护项。
先看结论:这次更新影响哪些用户
本文与 Mihomo 项目及其开发者无隶属关系。以下内容依据 Mihomo v1.19.33 官方 Release 和 Mihomo TUN 配置文档整理,截至 2026 年 10 月 22 日;客户端是否已经内置该内核,仍需在对应客户端的版本信息中单独核对。
| 使用场景 | 是否值得关注 | 主要原因 | 建议 |
|---|---|---|---|
| 启用 TUN | 高 | 新增 dns-mode,可细分系统 DNS 的处理方式 | 备份后升级,并检查 DNS 解析 |
| 使用 DoH | 中 | 修复已放弃查询继续堆积的问题 | 升级后观察日志和长时间运行情况 |
| 使用代理链 | 中 | 优化代理链循环检测的时间和内存开销 | 检查代理链能否正常启动 |
| 使用 Fake-IP | 中 | 重载时保留 Fake-IP 分配状态 | 升级后测试域名访问和规则命中 |
| 普通直连配置 | 一般 | 没有看到必须修改普通 YAML 的官方说明 | 可择机升级,先保留旧内核便于回滚 |
如果你只使用基础代理端口、没有启用 TUN、DoH、代理链或 Fake-IP,v1.19.33 对日常配置的直接影响可能较小;如果正在使用 TUN,尤其应关注新增的 DNS 行为选项。
v1.19.33 相比 v1.19.32 更新了什么
官方 Release 将 v1.19.33 与 v1.19.32 之间的变化分为新增功能、问题修复和维护更新三类。v1.19.32 的历史内容可在 v1.19.32 官方 Release 中核对,不能把旧版本内容误写成 v1.19.33 的新增项。
1. TUN 新增 dns-mode
新增字段用于控制系统 DNS 的配置方式。官方文档列出四种行为:disabled 不设置系统 DNS;native 将 TUN 地址设置为系统 DNS;hijack 在 native 基础上拦截其他接口发往 53 端口的请求;留空则保留旧行为。旧行为下,Windows 和 Linux 是否启用 auto-route 会影响默认模式,macOS 默认不设置系统 DNS。
这不是“自动让所有 DNS 都更快”的功能,而是让 TUN 用户能够明确选择系统 DNS 如何接入。Windows 使用 hijack 时需要注意 strict-route 要求,Linux 使用时则要结合 auto-redirect;这些前提来自官方 TUN 文档,不能只复制字段而忽略平台差异。
2. DoH 请求不再持续堆积
Release notes 写明,v1.19.33 对 DoH 拨号进行了限制,使已经放弃的查询不会继续堆积。它更接近资源管理和异常请求清理修复,不等于官方承诺所有 DNS 延迟都会下降。升级后应通过日志和实际解析结果判断是否改善。
3. 代理链循环检测优化
官方说明修复了 dialer-proxy 循环检测在时间和内存上的二次复杂度问题。若配置中存在多层代理链,升级后可能减少检测阶段的资源压力;但官方 Release 没有给出统一的速度提升数据,因此不能把它写成固定的性能提升。
4. Fake-IP、监听器和测试结果修复
本版本修复了嵌入式 Shadowsocks 监听器无法关闭的问题,修复了 Fake-IP 池重载时分配状态无法保留的问题,也修复了低于 1 毫秒的 URL 测试被报告为失败的问题。这些属于行为或稳定性修复,升级后重点检查监听器关闭、配置重载、域名访问和延迟测试结果。
5. crypto/tls 安全修复与维护项
官方 Release 明确列出 CVE-2026-97031 的 crypto/tls 修复。Release notes 没有在页面中解释该问题对普通用户的具体暴露条件,因此本文不推断严重等级或影响范围;但从版本维护角度看,长期运行、处理加密连接或用于办公网络的实例,建议优先安排升级并完成回归检查。
Sudoku 的重构与性能改进、WireGuard 设备和协议栈延迟初始化、Mieru 版本更新,均被官方列为 Maintenance,属于维护性变化,不应宣传为面向普通用户的新功能。
dns-mode 怎么配置:先从最小改动开始
下面示例只演示字段位置和行为,不包含任何特定服务商地址。请先确认所用客户端确实把配置交给 v1.19.33 内核解析;客户端名称或界面版本不能直接代表内核版本。
tun:
enable: true
auto-route: true
dns-mode: native- 使用 disabled:适合不希望 Mihomo 修改系统 DNS 的场景,但 DNS 是否仍被其他规则或客户端接管,需要自行检查。
- 使用 native:让系统 DNS 指向 TUN 地址,适合希望系统解析进入 Mihomo DNS 模块、但不需要额外拦截其他接口 53 端口的场景。
- 使用 hijack:在 native 基础上处理其他接口发往 53 端口的请求,Windows 需要同时考虑
strict-route,Linux 需要同时考虑auto-redirect。 - 留空:继续使用官方文档描述的旧行为,适合暂时不想改变 DNS 行为的用户。
判定标准:配置加载后,日志不应出现 YAML 字段错误;开启 TUN 后,普通域名应能解析;关闭 TUN 后,系统 DNS 应恢复到客户端或操作系统原有状态。若解析失败,先把 dns-mode 恢复为留空或 disabled 做单变量对照,不要同时修改 DNS 地址、规则和代理节点。
官方文档还提醒,macOS 和 Windows 无法自动劫持发往局域网的 DNS 请求;Android 开启 Private DNS 时,也可能无法自动劫持。因此“配置写对但局域网域名仍不按预期解析”不一定是版本升级失败,应先核对平台限制。
升级前后怎么做:备份、替换、验证、回滚
- 确认当前内核版本:在客户端关于页面、日志或命令行中查看实际 Mihomo 内核版本。不要只看客户端名称,因为客户端版本与内置内核版本不是同一个概念。
- 备份配置和运行状态:复制当前 YAML、代理提供方配置、规则文件、缓存目录和旧内核文件。若配置由客户端生成,也要保留导入前的原始文件。
- 记录关键行为:记下当前是否启用
tun.enable、auto-route、dns-hijack、enhanced-mode、代理链和 Fake-IP。升级时只替换内核,不要顺手改多个变量。 - 选择发行文件:在官方 Release 的 Assets 中,按操作系统、CPU 架构和压缩格式选择匹配文件。Windows、macOS、Linux 和 Android 的封装方式可能不同;x86_64、arm64、armv7 等架构也不能混用。若客户端由自身管理内核,应以客户端提供的内核导入或更新入口为准。
- 先做配置校验:启动新内核或客户端,观察是否出现未知字段、解析失败、端口占用、权限不足或 TUN 初始化失败。若配置校验失败,先回到旧内核,不要直接删除旧文件。
- 验证 TUN 和 DNS:确认 TUN 网卡成功创建;测试一个普通域名、一个需要规则匹配的域名和一个局域网地址。若使用
hijack,按平台要求检查strict-route或auto-redirect。 - 验证代理链与节点:分别测试直连、单层代理和代理链。观察日志中是否有循环检测、连接超时、DoH 请求持续重试或节点解析失败。
- 验证 Fake-IP 与重载:在不改配置的情况下执行一次配置重载,确认已访问域名仍能正常连接。若出现域名突然无法访问,先清理客户端缓存或恢复旧内核,再定位 Fake-IP 相关配置。
回滚方法很简单:停止 Mihomo,恢复备份的旧内核和配置,重新启动后复测 DNS、TUN 和代理节点。若只有新字段导致失败,删除 dns-mode 也可作为单变量回滚方式;但字段是否被客户端前端覆盖,需要查看客户端实际生成的运行配置。
哪些情况可以暂缓升级
以下情况可以先不改动生产环境:当前实例没有备份、客户端无法确认实际内核版本、配置由面板动态生成且无法导出、正在进行重要跨境办公任务,或环境依赖旧版 TUN 行为但尚未完成测试。暂缓并不代表 v1.19.33 有已知普遍故障,而是避免在无法回滚的条件下更换网络核心。
如果你使用 TUN、DoH、代理链或长期运行的加密连接,建议先在备用配置中升级,完成“启动—解析—节点—重载—关闭—恢复”的完整链路,再替换日常实例。官方页面没有提供统一测速或兼容性保证,因此最终判断应以你的操作系统、客户端封装和实际日志为准。
常见问题
Mihomo v1.19.33 是否必须修改 YAML?
官方 Release 没有要求所有用户修改 YAML。新增 dns-mode 是可选配置;如果不需要改变 TUN 的系统 DNS 行为,可以先保持原配置,升级前后完成备份和连通性验证即可。
dns-mode 应该选 disabled、native 还是 hijack?
disabled 不设置系统 DNS;native 将 TUN 地址作为系统 DNS;hijack 还会处理其他接口发往 53 端口的请求。Windows 使用 hijack 要考虑 strict-route,Linux 要考虑 auto-redirect,不能只复制字段。
升级后 TUN 能启动但无法上网怎么办?
先查看日志是否有配置解析、权限、路由或 DNS 错误,再把 dns-mode 恢复为留空或 disabled 做单变量测试。随后分别检查 TUN 网卡、域名解析、代理节点和规则命中,仍失败就恢复旧内核。
Mihomo v1.19.33 会自动包含在客户端更新里吗?
不能直接这样判断。客户端版本和 Mihomo 内核版本不是同一个概念,应在客户端关于页面、内核管理页或启动日志中确认实际运行版本;未能核实的客户端是否已同步,不应当作已升级。