mihomo v1.19.30:新增 ZeroTier/AmneziaWG,修复 CVE
v1.19.30
推荐理由
mihomo 用户注意:此版本新增 ZeroTier 出站和 AmneziaWG v3 支持,并修复了 crypto/tls 的 CVE-2026-56862 安全漏洞,建议尽快升级。
What's Changed
变更内容
- e889b68 feat: support H2C and QUICv2 sniffing (#3036) by @kosta
- 05b5334 feat: add handshake-timeout for hysteria2 by @wwqgtxx
- 1265cb9 feat: add ip-stack option for masque outbound by @wwqgtxx
- 4ad27d8 feat: add ip-stack option for ZeroTier by @wwqgtxx
- 8453e58 feat: support AmneziaWG v3.0 by @wwqgtxx
- 8b76447 feat: add ip-stack option for wireguard outbound by @wwqgtxx
- 8c56780 feat: support AmneziaWG v3.1 by @wwqgtxx
- b082515 feat: add Zerotier outbound support by @wwqgtxx
- b27c659 feat: add client-metadata configuration to anytls and DON'T sent by default by @wwqgtxx
- bb80689 feat: support bbr3 for mipstack by @wwqgtxx
- d46944f feat: add ip-stack option for openvpn outbound by @wwqgtxx
- e40b596 feat: add rate-limit for restls listener by @wwqgtxx
- e889b68 功能:支持 H2C 和 QUICv2 嗅探 (#3036),作者 @kosta
- 05b5334 功能:为 hysteria2 添加握手超时设置,作者 @wwqgtxx
- 1265cb9 功能:为 masque 出站添加 IP 栈选项,作者 @wwqgtxx
- 4ad27d8 功能:为 ZeroTier 添加 IP 栈选项,作者 @wwqgtxx
- 8453e58 功能:支持 AmneziaWG v3.0,作者 @wwqgtxx
- 8b76447 功能:为 wireguard 出站添加 IP 栈选项,作者 @wwqgtxx
- 8c56780 功能:支持 AmneziaWG v3.1,作者 @wwqgtxx
- b082515 功能:添加 Zerotier 出站支持,作者 @wwqgtxx
- b27c659 功能:为 anytls 添加客户端元数据配置,且默认不发送,作者 @wwqgtxx
- bb80689 功能:为 mipstack 支持 bbr3,作者 @wwqgtxx
- d46944f 功能:为 openvpn 出站添加 IP 栈选项,作者 @wwqgtxx
- e40b596 功能:为 restls 监听器添加速率限制,作者 @wwqgtxx
BUG & Fix
错误与修复
- 25ccc4d fix: handle zerotier network lifecycle events correctly by @wwqgtxx
- 2e8a04c fix: tailscale failed to recover after the network was restored by @wwqgtxx
- 3315457 fix: CVE-2026-56862 for crypto/tls by @wwqgtxx
- 3a779dd fix: typo in uplinkHTTPMethod (#3029) by @kosta
- 4fcf9ae fix: track QUIC crypto stream coverage without repeated range sorting by @wwqgtxx
- 5e3cb10 fix: avoid reserved TLS suffixes in JLS FakeRandom by @wwqgtxx
- 63f15f2 fix: keep connections open after initial sniffing failures by @wwqgtxx
- 69a3142 fix: apply default uplink chunk size for xhttp (#3061) by @vanbujhm
- 7ac597b fix: domain resolve logic in zerotier outbound by @wwqgtxx
- 8d1b661 fix: avoid unnecessary waits in HTTP/2 sniffing by @wwqgtxx
- 8d71008 fix: typo in error string (#3090) by @rye Sears
- 9574a46 fix: truncate udp dns replies to the client's advertised buffer size (#3043) by @TWO666
- 95f7a0c fix: remove incorrect quic error wrapping by @wwqgtxx
- 978d25a fix: enforce ShadowQUIC JLS authentication in QUIC layer by @wwqgtxx
- 98f1200 fix: panic when UDP is not supported in dns_dialer by @wwqgtxx
- 9b9dc8a fix: survive server-initiated soft reset and rekey for openvpn (#3109) by @ayanami-desu
- 9d901dc fix: prevent CUBIC ACKs from reducing cwnd for gvisor by @wwqgtxx
- a2c9556 fix: HTTP/2 read loop spinning on underlying StreamError by @wwqgtxx
- a939fc1 fix: compilation errors under specific circumstances by @wwqgtxx
- ac017cd fix: initialize DNS before NTP (#3103) by @xyx
- ace2037 fix: echo edns0 opt in dns replies when the request carries one (#3041) by @TWO666
- afeb072 fix: trim trailing newline from Tailscale VersionDotTxt in IPNVersion (#3079) by @胡威
- b989445 fix: reduce PROTOCOL_VIOLATION errors on masque dialing by setting ConnectionIDLength by @wwqgtxx
- c1603f4 fix: coordinate TCP sniffers on overlapping ports by @wwqgtxx
- c7089c0 fix: include the upstream tailscale version for standardization (#3074) by @Feng.YJ
- cd05b74 fix: harden zerotier runtime synchronization by @wwqgtxx
- e18ef3a fix: harden ShadowQUIC JLS camouflage forwarding by @wwqgtxx
- ea9c544 fix: avoid unnecessary waits in TLS and QUIC sniffing by @wwqgtxx
- f298cd2 fix: normalize HTTP hosts and avoid unnecessary sniffing delays by @wwqgtxx
- f5fddd3 fix: preserve WebSocket 0-RTT data order by @wwqgtxx
- f83a072 fix: let QUIC sniffer handle Retry key changes by @wwqgtxx
- fb00221 fix: tun dns hijack sending zero-filled or stale packets when PackBuffer reallocates (#3037) by @TWO666
- 25ccc4d 修复:正确处理 zerotier 网络生命周期事件,作者 @wwqgtxx
- 2e8a04c 修复:tailscale 在网络恢复后无法重新连接,作者 @wwqgtxx
- 3315457 修复:crypto/tls 中的 CVE-2026-56862,作者 @wwqgtxx
- 3a779dd 修复:uplinkHTTPMethod 中的拼写错误 (#3029),作者 @kosta
- 4fcf9ae 修复:跟踪 QUIC 加密流覆盖范围,无需重复范围排序,作者 @wwqgtxx
- 5e3cb10 修复:在 JLS FakeRandom 中避免保留的 TLS 后缀,作者 @wwqgtxx
- 63f15f2 修复:初始嗅探失败后保持连接打开,作者 @wwqgtxx
- 69a3142 修复:为 xhttp 应用默认上行分块大小 (#3061),作者 @vanbujhm
- 7ac597b 修复:zerotier 出站中的域名解析逻辑,作者 @wwqgtxx
- 8d1b661 修复:避免 HTTP/2 嗅探中的不必要等待,作者 @wwqgtxx
- 8d71008 修复:错误字符串中的拼写错误 (#3090),作者:@rye Sears
- 9574a46 修复:将 UDP DNS 回复截断到客户端通告的缓冲区大小 (#3043),作者:@TWO666
- 95f7a0c 修复:移除不正确的 QUIC 错误包装,作者:@wwqgtxx
- 978d25a 修复:在 QUIC 层强制实施 ShadowQUIC JLS 认证,作者:@wwqgtxx
- 98f1200 修复:当 dns_dialer 不支持 UDP 时发生 panic,作者:@wwqgtxx
- 9b9dc8a 修复:为 openvpn 处理服务器发起的软重置和重新密钥 (#3109),作者:@ayanami-desu
- 9d901dc 修复:防止 CUBIC ACK 减少 gvisor 的拥塞窗口,作者:@wwqgtxx
- a2c9556 修复:HTTP/2 读取循环在底层 StreamError 上自旋,作者:@wwqgtxx
- a939fc1 修复:特定情况下的编译错误,作者:@wwqgtxx
- ac017cd 修复:在 NTP 之前初始化 DNS (#3103),作者:@xyx
- ace2037 修复:当请求携带 edns0 时,在 DNS 回复中回显 edns0 OPT (#3041),作者:@TWO666
- afeb072 修复:在 IPNVersion 中去除 Tailscale VersionDotTxt 的尾部换行符 (#3079),作者:@胡威
- b989445 修复:通过设置 ConnectionIDLength 减少 masque 拨号时的 PROTOCOL_VIOLATION 错误,作者:@wwqgtxx
- c1603f4 修复:协调重叠端口上的 TCP 嗅探器,作者:@wwqgtxx
- c7089c0 修复:包含上游 tailscale 版本以进行标准化 (#3074),作者:@Feng.YJ
- cd05b74 修复:强化 zerotier 运行时同步,作者:@wwqgtxx
- e18ef3a 修复:强化 ShadowQUIC JLS 伪装转发,作者:@wwqgtxx
- ea9c544 修复:避免 TLS 和 QUIC 嗅探中的不必要等待,作者:@wwqgtxx
- f298cd2 修复:规范化 HTTP 主机并避免不必要的嗅探延迟,作者:@wwqgtxx
- f5fddd3 修复:保持 WebSocket 0-RTT 数据顺序,作者:@wwqgtxx
- f83a072 修复:让 QUIC 嗅探器处理 Retry 密钥更改,作者:@wwqgtxx
- fb00221 修复:当 PackBuffer 重新分配时,tun DNS 劫持发送零填充或过期数据包 (#3037),作者:@TWO666
Maintenance
维护
- 09b0ff3 chore: reduce interface differences between gVisor and mipstack by @wwqgtxx
- 0ba9f2f chore: remove dohMaxConnsPerHost & dohMaxIdleConns (#3048) by @ayanamist
- 1af24e9 chore: update tailscale to v1.102.2 by @wwqgtxx
- 1ef16c7 chore: harden TCP pacing and handshake state handling by @wwqgtxx
- 26c635f chore: avoid string reversal allocation in DomainSet.Has (#3049) by @ember Moth
- 2bade29 chore: allow the sniffer to read more data if possible by @wwqgtxx
- 2ea5461 chore: adjust internal dialQuic api by @wwqgtxx
- 3c16aaf chore: update quic-go to 0.61.0 by @wwqgtxx
- 3cac869 chore: reduce ZeroTier wire data-path overhead by @wwqgtxx
- 4859d14 chore: let quic sniffer handle coalesced packets and larger client hello by @wwqgtxx
- 49a5419 chore: update tailscale to v1.102.0 by @wwqgtxx
- 63024e3 chore: remove unused imports in test by @wwqgtxx
- 669db1b chore: harden QUIC Initial packet processing by @wwqgtxx
- 6bb8b98 chore: strictly verify the syntax for Clash-style domain wildcards by @wwqgtxx
- 7259bbb chore: update mipstack for api adjustment by @wwqgtxx
- 73b061a chore: split internal dns server handler by @wwqgtxx
- 770800e chore: reduce packet-path and TCP allocation overhead by @wwqgtxx
- 7ee0b05 chore: allow override IV_VER by peer-info for OpenVPN by @wwqgtxx
- 7ff6544 chore: improve ZeroTier reliability and throughput under load by @wwqgtxx
- 8df9462 chore: update mipstack for api adjustment by @wwqgtxx
- 944e8e1 chore: align MIPS TCP keepalive defaults with sing-wireguard behavior by @wwqgtxx
- 94a89fb chore: reject oversized sniff reads before filling the buffer by @wwqgtxx
- 97cbdc5 chore: update gvisor by @wwqgtxx
- 99ce79c chore: reduce packet queue contention and socket allocation churn by @wwqgtxx
- 9a9c4c6 chore: improve zerotier event diagnostics by @wwqgtxx
- a52c00b chore: expand datagram and raw IP socket support for mipstack by @wwqgtxx
- b9faf97 chore: improve internal sharing mechanism for dnsClient by @wwqgtxx
- c235dc1 chore: let the sniffer assemble client hello across TLS records by @wwqgtxx
- c807c9a chore: let the HTTP/2 sniffer assemble header blocks across continuation frames by @wwqgtxx
- cb8e990 chore: let sniffer support multi-round reading by @wwqgtxx
- cf98d2d chore: align ZeroTier link configuration and multicast state by @wwqgtxx
- d8fbf85 chore: update bart by @wwqgtxx
- dd7bc4c chore: reduce ZeroTier packet processing overhead by @wwqgtxx
- dfd7e89 chore: align congestion control with Linux by @wwqgtxx
- e183c58 chore: stabilize equal-quality peer path selection for ZeroTier by @wwqgtxx
- e9f6297 chore: improve ZeroTier packet bridge throughput by @wwqgtxx
- ee2db89 chore: let gVisor allow HandleLocal working with PromiscuousMode by @wwqgtxx
- efd63d8 chore: extract bitmap handling from QUIC crypto reassembly by @wwqgtxx
- f5fbe0c chore: update mieru version (#3046) by @enfein
- 09b0ff3 杂项:减少 gVisor 和 mipstack 之间的接口差异,作者:@wwqgtxx
- 0ba9f2f 杂务:移除 dohMaxConnsPerHost 和 dohMaxIdleConns(#3048),作者:@ayanamist
- 1af24e9 杂务:更新 tailscale 至 v1.102.2,作者:@wwqgtxx
- 1ef16c7 杂务:强化 TCP 速率控制和握手状态处理,作者:@wwqgtxx
- 26c635f 杂务:避免 DomainSet.Has 中的字符串反转分配(#3049),作者:@ember Moth
- 2bade29 杂务:允许嗅探器尽可能读取更多数据,作者:@wwqgtxx
- 2ea5461 杂务:调整内部 dialQuic API,作者:@wwqgtxx
- 3c16aaf 杂务:更新 quic-go 至 0.61.0,作者:@wwqgtxx
- 3cac869 杂务:降低 ZeroTier 线路数据路径开销,作者:@wwqgtxx
- 4859d14 杂务:让 QUIC 嗅探器处理合并数据包和更大的客户端问候消息,作者:@wwqgtxx
- 49a5419 杂务:更新 tailscale 至 v1.102.0,作者:@wwqgtxx
- 63024e3 杂务:移除测试中未使用的导入,作者:@wwqgtxx
- 669db1b 杂务:强化 QUIC 初始数据包处理,作者:@wwqgtxx
- 6bb8b98 杂务:严格验证 Clash 风格域名通配符的语法,作者:@wwqgtxx
- 7259bbb 杂务:更新 mipstack 以适应 API 调整,作者:@wwqgtxx
- 73b061a 杂务:拆分内部 DNS 服务器处理器,作者:@wwqgtxx
- 770800e 杂务:降低数据包路径和 TCP 分配开销,作者:@wwqgtxx
- 7ee0b05 杂务:允许通过 peer-info 为 OpenVPN 覆盖 IV_VER,作者:@wwqgtxx
- 7ff6544 杂务:提高 ZeroTier 在负载下的可靠性和吞吐量,作者:@wwqgtxx
- 8df9462 杂务:更新 mipstack 以适应 API 调整,作者:@wwqgtxx
- 944e8e1 杂务:使 MIPS TCP 保持活动默认值与 sing-wireguard 行为一致,作者:@wwqgtxx
- 94a89fb 杂务:在填充缓冲区之前拒绝过大的嗅探读取,作者:@wwqgtxx
- 97cbdc5 杂务:更新 gvisor,作者:@wwqgtxx
- 99ce79c 杂务:减少数据包队列争用和套接字分配抖动,作者:@wwqgtxx
- 9a9c4c6 杂务:改进 zerotier 事件诊断,作者:@wwqgtxx
- a52c00b 杂务:由 @wwqgtxx 扩展 mipstack 对数据报和原始 IP 套接字的支持
- b9faf97 杂务:由 @wwqgtxx 改进 dnsClient 的内部共享机制
- c235dc1 杂务:让嗅探器跨 TLS 记录组装客户端 Hello 消息
- c807c9a 杂务:让 HTTP/2 嗅探器跨 CONTINUATION 帧组装头部块
- cb8e990 杂务:让嗅探器支持多轮读取
- cf98d2d 杂务:对齐 ZeroTier 链接配置和多播状态
- d8fbf85 杂务:由 @wwqgtxx 更新 bart
- dd7bc4c 杂务:由 @wwqgtxx 减少 ZeroTier 数据包处理开销
- dfd7e89 杂务:由 @wwqgtxx 使拥塞控制与 Linux 对齐
- e183c58 杂务:由 @wwqgtxx 稳定 ZeroTier 的等质量对等路径选择
- e9f6297 杂务:由 @wwqgtxx 提高 ZeroTier 数据包桥接吞吐量
- ee2db89 杂务:由 @wwqgtxx 让 gVisor 允许 HandleLocal 与 PromiscuousMode 一起工作
- efd63d8 杂务:由 @wwqgtxx 从 QUIC 加密重组中提取位图处理
- f5fbe0c 杂务:由 @enfein 更新 mieru 版本 (#3046)
Full Changelog: v1.19.29...v1.19.30
完整变更日志:v1.19.29...v1.19.30
更进一步:量化金融体系
看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力