v1.0.28
v1.0.28 发布验收说明
2026-09-25,完成 TUN 内核数据包缓冲区队列溢出(ENOSPC / ENOBUFS)无损回退重试机制、探测会话自愈重构(防止因网络拓扑变动/路由陈旧引发的误回滚死锁)、Tart 虚拟机构建挂载与 Apple Silicon 物理真机(10.4 Gbps 吞吐)全量回归测试:
核心优化与演进落地:
-
TUN 内核发送队列溢出无损回退与异步重试机制(
CoreBridge.swift):- 问题深度定位:在高并发下载、大流量猝发或网卡缓冲区瞬间拥塞时,
RustCoreBridge.flushPendingPackets批量将数据包写入 Darwin 内核虚拟网卡(self.packetFlow.writePackets)。当 Darwinutun内核发送队列达到硬上限时,系统调用返回false(底层ENOSPC/ENOBUFS,即设备空间不足或内核套接字缓冲满);旧实现忽略了该返回值,导致数据包被内核静默丢弃,引发严重的 TCP 丢包重传、拥塞窗口暴跌、甚至长时间“假死断流”; - 解决方案:
- 将每次入核数据包的最大批次限制为
maximumPacketBatchSize = 32,防止突发流量洪峰瞬间撑爆内核驱动队列; - 严格捕获
self.packetFlow.writePackets返回值;一旦返回false(内核缓冲溢出),立即将当前批次数据包完整插回待发送队列头部(pendingPackets.insert(..., at: 0)),确保包序绝对无损; - 触发 2ms 的异步排空退避调度(
packetQueue.asyncAfter(deadline: .now() + .milliseconds(2))),给 Darwin 内核驱动充足的时间排空硬件网卡缓冲区,彻底消除断流假死; - 设置队列高水位硬限制
maximumPendingPackets = 4096,在极限异常死锁下丢弃最老数据包,保障内存边界绝对安全。
- 将每次入核数据包的最大批次限制为
- 问题深度定位:在高并发下载、大流量猝发或网卡缓冲区瞬间拥塞时,
-
数据面探测会话动态自愈防回滚机制(
TunnelManager+ConnectionLifecycle.swift):- 问题定位:
currentRouteDataPlaneStatus原先使用静态单例probeSession。当发生网卡切换、网络休眠唤醒或路由规则调整时,静态URLSession底层的 HTTP/TCP 连接池仍尝试复用已失效的旧套接字,导致抛出NSURLErrorNetworkConnectionLost或NSURLErrorCannotConnectToHost;探测失败后错误判定为代理节点不可用,进而触发回滚逻辑,导致网络连接异常中断; - 解决方案:
- 重构为动态线程安全的探测会话管理器(
resolveProbeSession/refreshProbeSession); - 当捕获到
.notConnectedToInternet、.networkConnectionLost、.cannotConnectToHost、.dnsLookupFailed、.timedOut等网络路由状态变动导致的瞬断错误时,主动销毁陈旧连接池并重建纯净会话进行一次无感重试,彻底杜绝误报回滚; - 在启动与状态重置流程中主动执行探测会话刷新。
- 重构为动态线程安全的探测会话管理器(
- 问题定位:
-
协议矩阵指纹证据对齐与版本推进(
ProtocolCoreEvidence.json、project.yml):- 版本号推进至
MARKETING_VERSION: "1.0.28",CURRENT_PROJECT_VERSION: "2026092501"; - 官方 Rust 核心产物 SHA256 签名(
libclashrs.a:25d6e5b...,libclashrs-direct.a:416f0a...)与协议矩阵证据文件完全一致。
- 版本号推进至
真实硬件与环境自动化验证结论:
-
物理真实设备实机验证(
chenxu@100.64.0.3Apple Silicon Mac mini):- 远程门禁执行:
AETHERROUTE_ALLOW_REMOTE_GATE=YES ./scripts/test_remote_arm64.sh chenxu@100.64.0.3 fast; - 门禁结论:100% PASS(测试凭证落盘:
outputs/test-evidence/remote-arm64-20260925T044300Z-fast); - 极限性能表现:
- TCP 单流/多流吞吐实测达到 10.4 Gbps(10,488 Mbps),达到硬件总线与网卡物理线速极限;
- UDP 完整性测试:10,000 个高频连续数据报传输实现 0 丢包;
- Go 授权服务竞态测试、DMG 升级回滚验证、UI 线程隔离性与协议互操作性测试全部一次性通过。
- 远程门禁执行:
-
Tart 虚拟机 6 维网络矩阵与自动化回归(
aether-diag-1434):- 执行脚本:
./scripts/test_vm_acceptance_matrix.sh(Candidate:1.0.28build-2026092501); - 验收结果:
tun/rule: all checks passed (100% PASS)tun/global: all checks passed (100% PASS)tun/direct: all checks passed (100% PASS)transparent/rule: all checks passed (100% PASS)transparent/global: all checks passed (100% PASS)transparent/direct: all checks passed (100% PASS)
- 清理验收:测试完成后已彻底清理 VM 内临时测试文件、解压目录及日志,虚拟机保持初始干净状态并安全关机。
- 执行脚本:
-
本地静态与安全门禁核查:
./scripts/verify_protocol_matrix.sh:12 种代理协议、21 个互操作用例全部验证通过;- 单元回归与全量逻辑测试 100% 通过。
正式发布规范执行核验:
- 采用标准生产核心(Normal Core Variant),完全剥离 QA 自动化测试标记;
- 主程序(
com.aetherroute.desktop)及网络扩展(com.aetherroute.desktop.tunnel、com.aetherroute.desktop.transparent-proxy)均采用 Developer ID 签名与 Hardened Runtime; - 提交 Apple Notarization 官方公证并完成双重票据装订(Stapled App + Stapled DMG);
- Sparkle 自动更新清单采用官方专用 Ed25519 密钥签名并经反向验签断言通过;
- Cloudflare Pages 静态官网及发布专页同步更新并完成发布。