Skip to content

v1.0.27

Choose a tag to compare

@bcblr1993 bcblr1993 released this 24 Sep 09:58
· 118 commits to main since this release

v1.0.27 发布验收说明

2026-09-24,完成 Tailscale 虚拟覆盖网络与 Darwin 内核 NetworkExtension excludedRoutes 静态物理网关路由冲突根治修复、System Extension 版本升级平滑切换验证、Tart 虚拟机 6 维网络矩阵验证及 Apple Silicon 物理真机全量回归测试:

核心优化与演进落地:

  1. 虚拟覆盖网络(Tailscale CGNAT)内核路由劫持根本根治(PacketTunnelNetworkSettingsPlan.swift、PacketTunnelProvider.swift、TunnelManager.swift):

    • 深度定位用户配置 100.64.0.0/10 自定义分流规则或绕过规则时 SSH 与 TUN 瞬断的根本原因:在 macOS Darwin 内核网络栈中,NetworkExtension 的 NEIPv4Settings.excludedRoutes 会强制指令 nesessionmanager 向物理默认出口网卡(如 en0 网关 192.168.50.1)下发全局静态网关路由;
    • 一旦触发目标地址探测,Darwin 内核会克隆生成 /32 主机路由(如 100.64.0.1 -> 192.168.50.1 on en0),无条件劫持并覆盖 Tailscale 原生虚拟网卡(utun*)的作用域路由,造成 Tailscale 隧道被物理网关吞噬中断;
    • 解决方案:在 PacketTunnelNetworkSettingsPlan 与 PacketTunnelProvider 中引入 isVirtualOverlayRoute 拦截网关,严禁将 RFC 6598 CGNAT(100.64.0.0/10)与 IPv6 覆盖网络(fd00::/8、fc00::/7)注入系统内核的 excludedRoutes。覆盖网络的分流完全由 Clash 核心引擎层的规则分流与无绑定 Socket 直连(is_overlay_network_address)接管;
    • 在 TunnelManager 启动与运行时增加 sanitizeBypassPolicy 自动净化机制,自动纠正既有配置中的覆盖网段。
  2. System Extension 平滑升级与构建版本递增(project.yml):

    • 推进 build 版本至 2026092402,确保 Darwin sysextd 在实机与测试环境中能准确识别新安装包版本并完成在轨热替换,杜绝二进制 hash 不匹配问题。

虚拟机 6 维矩阵与真实硬件自动化验证结论:

  1. Tart 虚拟机 6 维网络矩阵测试(aether-diag-1434):

    • 执行脚本:./scripts/test_vm_acceptance_matrix.sh(Candidate: 1.0.27 build-2026092402);
    • 验收结果:
      • 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 内临时测试文件、解压目录及日志,虚拟机保持初始干净状态并安全关机。
  2. 物理真实设备实机验证(chenxu@100.64.0.3 Apple 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-20260924T070813Z-fast);
    • 性能指标:TCP 吞吐率达到 7500+ Mbps,UDP 10,000 数据包完整性测试 0 丢包;
    • 实机运行验收:将 Apple 官方公证并双重装订票据的 AetherRoute.app(1.0.27 Build 2026092402)部署至 Mac mini /Applications/:
      • 启动并连接成功,菜单栏显示 AetherRoute · 流量路由已启用;
      • 查询内核路由表:route -n get 100.64.0.1 准确指向 utun2(Tailscale 网卡接口);
      • 双向 Ping 验证:实测发送 5 个数据包全部收到,0.0% packet loss,延迟稳定在 22~29ms;
      • SSH 终端会话持续保持畅通,彻底杜绝网络分析与代理开启时的连接中断。
  3. 本地静态与安全门禁核查:

    • ./scripts/verify_protocol_matrix.sh:12 种代理协议、21 个互操作用例全部验证通过;
    • ./scripts/test.sh:Swift 单元回归与全量逻辑测试 100% 通过;
    • scripts/test_network_switch_gate.py、EngineReconnect、RuntimeEnvironment 测试全部通过。

正式发布规范执行核验:

  1. 采用标准生产核心(Normal Core Variant),完全剥离 QA 自动化测试标记;
  2. 主程序(com.aetherroute.desktop)及网络扩展(com.aetherroute.desktop.tunnel、com.aetherroute.desktop.transparent-proxy)均采用 Developer ID 签名与 Hardened Runtime;
  3. 提交 Apple Notarization 官方公证并完成双重票据装订(Stapled App + Stapled DMG);
  4. Sparkle 自动更新清单采用官方专用 Ed25519 密钥签名并经反向验签断言通过;
  5. Cloudflare Pages 静态官网及发布专页同步更新并完成发布。