Skip to content

Releases: bcblr1993/AetherRoute

v1.0.28

Choose a tag to compare

@bcblr1993 bcblr1993 released this 25 Sep 12:37

v1.0.28 发布验收说明

2026-09-25,完成 TUN 内核数据包缓冲区队列溢出(ENOSPC / ENOBUFS)无损回退重试机制、探测会话自愈重构(防止因网络拓扑变动/路由陈旧引发的误回滚死锁)、Tart 虚拟机构建挂载与 Apple Silicon 物理真机(10.4 Gbps 吞吐)全量回归测试:

核心优化与演进落地:

  1. TUN 内核发送队列溢出无损回退与异步重试机制(CoreBridge.swift):

    • 问题深度定位:在高并发下载、大流量猝发或网卡缓冲区瞬间拥塞时,RustCoreBridge.flushPendingPackets 批量将数据包写入 Darwin 内核虚拟网卡(self.packetFlow.writePackets)。当 Darwin utun 内核发送队列达到硬上限时,系统调用返回 false(底层 ENOSPC / ENOBUFS,即设备空间不足或内核套接字缓冲满);旧实现忽略了该返回值,导致数据包被内核静默丢弃,引发严重的 TCP 丢包重传、拥塞窗口暴跌、甚至长时间“假死断流”;
    • 解决方案:
      • 将每次入核数据包的最大批次限制为 maximumPacketBatchSize = 32,防止突发流量洪峰瞬间撑爆内核驱动队列;
      • 严格捕获 self.packetFlow.writePackets 返回值;一旦返回 false(内核缓冲溢出),立即将当前批次数据包完整插回待发送队列头部(pendingPackets.insert(..., at: 0)),确保包序绝对无损;
      • 触发 2ms 的异步排空退避调度(packetQueue.asyncAfter(deadline: .now() + .milliseconds(2))),给 Darwin 内核驱动充足的时间排空硬件网卡缓冲区,彻底消除断流假死;
      • 设置队列高水位硬限制 maximumPendingPackets = 4096,在极限异常死锁下丢弃最老数据包,保障内存边界绝对安全。
  2. 数据面探测会话动态自愈防回滚机制(TunnelManager+ConnectionLifecycle.swift):

    • 问题定位:currentRouteDataPlaneStatus 原先使用静态单例 probeSession。当发生网卡切换、网络休眠唤醒或路由规则调整时,静态 URLSession 底层的 HTTP/TCP 连接池仍尝试复用已失效的旧套接字,导致抛出 NSURLErrorNetworkConnectionLost 或 NSURLErrorCannotConnectToHost;探测失败后错误判定为代理节点不可用,进而触发回滚逻辑,导致网络连接异常中断;
    • 解决方案:
      • 重构为动态线程安全的探测会话管理器(resolveProbeSession / refreshProbeSession);
      • 当捕获到 .notConnectedToInternet、.networkConnectionLost、.cannotConnectToHost、.dnsLookupFailed、.timedOut 等网络路由状态变动导致的瞬断错误时,主动销毁陈旧连接池并重建纯净会话进行一次无感重试,彻底杜绝误报回滚;
      • 在启动与状态重置流程中主动执行探测会话刷新。
  3. 协议矩阵指纹证据对齐与版本推进(ProtocolCoreEvidence.json、project.yml):

    • 版本号推进至 MARKETING_VERSION: "1.0.28", CURRENT_PROJECT_VERSION: "2026092501";
    • 官方 Rust 核心产物 SHA256 签名(libclashrs.a: 25d6e5b...,libclashrs-direct.a: 416f0a...)与协议矩阵证据文件完全一致。

真实硬件与环境自动化验证结论:

  1. 物理真实设备实机验证(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-20260925T044300Z-fast);
    • 极限性能表现:
      • TCP 单流/多流吞吐实测达到 10.4 Gbps(10,488 Mbps),达到硬件总线与网卡物理线速极限;
      • UDP 完整性测试:10,000 个高频连续数据报传输实现 0 丢包;
      • Go 授权服务竞态测试、DMG 升级回滚验证、UI 线程隔离性与协议互操作性测试全部一次性通过。
  2. Tart 虚拟机 6 维网络矩阵与自动化回归(aether-diag-1434):

    • 执行脚本:./scripts/test_vm_acceptance_matrix.sh(Candidate: 1.0.28 build-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 内临时测试文件、解压目录及日志,虚拟机保持初始干净状态并安全关机。
  3. 本地静态与安全门禁核查:

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

正式发布规范执行核验:

  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 静态官网及发布专页同步更新并完成发布。

v1.0.27

Choose a tag to compare

@bcblr1993 bcblr1993 released this 24 Sep 09:58

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 静态官网及发布专页同步更新并完成发布。

v1.0.26

Choose a tag to compare

@bcblr1993 bcblr1993 released this 24 Sep 01:40

v1.0.26 发布验收说明

2026-09-24,完成 Tailscale 与虚拟覆盖网络底层网卡绑定穿透修复、私有 DERP/Headscale 域名直连放行、Core 引擎 socket_helpers 路由穿透优化、Tart 虚拟机 6 维网络矩阵验证及 Apple Silicon 物理真机全量回归测试:

核心优化与演进落地:

  1. 核心代理引擎底层物理网卡绑定穿透修复(socket_helpers.rs & proxy/direct/mod.rs):

    • 深度排查并定位 Tailscale 节点在开启代理后不可达的底层根本原因:当分流引擎发起 DIRECT 出站连接时,底层 socket 默认被绑定(IP_BOUND_IF)至主物理出口网卡(如 en0);
    • 由于该强绑定机制,Darwin 内核直接阻断发往虚拟网卡(utun*)的数据包路由,导致 Tailscale CGNAT 覆盖网络(100.64.0.0/10)与 IPv6 虚拟网段(fd7a:115c:a1e0::/48)完全无法被内核正确路由到 Tailscale 虚拟网卡接口;
    • 在 Core 引擎中实现 is_overlay_network_address 判定函数,对所有发往 Tailscale 等覆盖网络(100.64.0.0/10 和 fd7a:115c:a1e0::/48)的 TCP/UDP DIRECT 连接跳过物理网卡强绑定,允许 Darwin 内核正常查表路由至对应的 utun 虚拟接口;
    • 解决后,Mac mini 与所有 Tailscale 节点间的 P2P 直连及 DERP 中继完全恢复,SSH 连接延迟低至 20ms,无任何阻断与丢包。
  2. Tailscale 与 Headscale DERP 基础设施直连优化(DomesticRoutingOptimizer.swift):

    • 自动在分流引擎层注入 Tailscale 协调服务器与 DERP 中继节点域名(tailscale.com、ts.net、headscale.net、controlplane.tailscale.com 以及私有 Headscale DERP 中继节点)的直连白名单与 Fake-IP 过滤名单;
    • 避免 STUN/DERP 流量被 Fake-IP 映射或错误代理,确保 NAT 打洞与 DERP 回退毫秒级就绪。
  3. 自定义规则前缀校验安全防护(CustomRule.swift):

    • 在 CIDR 校验中阻断 /0 无效掩码输入,避免意外生成 0.0.0.0/0 全局全量捕获规则导致正常流量被误劫持。
  4. Core 引擎提交与证据链同步(Core/Engine & ProtocolCoreEvidence.json):

    • 核心引擎更新并提交至 c23370da96b70e6282f04254b4a93761e2a54fee;
    • 同步更新并锁定 ProtocolCoreEvidence.json 与 ThirdPartyLicenses.json 的生产核心 SHA-256 哈希值与源码提交点,严格保障供应链完整性与协议证据链闭环。

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

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

    • 执行脚本:./scripts/test_vm_acceptance_matrix.sh(Candidate: build-2026092401);
    • 验收结果:
      • 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-20260923T235219Z-fast);
    • 性能指标:TCP 吞吐率达到 7579 Mbps,UDP 10,000 数据包完整性测试 0 丢包;
    • Tailscale 连通性:实际安装并运行 v1.0.26 验证,AetherRoute 开启状态下 Tailscale ping 延迟稳定在 27ms,SSH 交互快速流畅。
  3. 本地静态与安全门禁核查:

    • ./scripts/verify_protocol_matrix.sh:12 种代理协议、21 个互操作用例全部验证通过;
    • ./scripts/verify_licenses.sh source:439 个第三方开源组件及证书许可全部合规;
    • ./scripts/verify_localizations.sh:1008 个国际化词条(中文/英文)100% 匹配;
    • clash-lib cargo test:335 个测试用例全部通过。

正式发布规范执行核验:

  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 静态官网及发布专页同步更新并完成发布。

v1.0.25

Choose a tag to compare

@bcblr1993 bcblr1993 released this 23 Sep 11:03

[1.0.25] - 2026-09-23

Fixed

  • Tailscale CGNAT 底层路由冲突彻底根治(PacketTunnelNetworkSettingsPlan.swift):从内核 TUN 默认直连排除网段(excludedRoutes)中完全移除 100.64.0.0/10 及自定义 CIDR,消除 macOS Darwin 内核对覆盖网卡的非 scoped 静态物理网关劫持(100.64/10 -> 10.8.7.254 on en11);Tailscale 及私有 Headscale/DERP 直连完全交由 Clash 引擎层(DomesticRoutingOptimizer.swift)与 Fake-IP Filter 避让保障,实现与 Tailscale 原生共存、握手与 SSH 秒级互通无丢包。
  • Core 核心引擎睡眠唤醒时钟健壮性优化(Core/Engine):升级 Clash 核心至提交 7bb5f30,针对系统休眠/唤醒跨周期可能产生的负向时钟偏差全面采用 saturating_duration_since,从底层杜绝时钟漂移引发的 panic;同步更新并锁定 ProtocolCoreEvidence.json 与 ThirdPartyLicenses.json 散列,保障供应链与协议证据链闭环。

Verified

  • Tart 虚拟机 6 维网络矩阵全量通过:TUN / 透明代理 x 规则 / 全局 / 直连 6 项矩阵模式 100% 通过(aether-diag-1434),测试后临时文件与日志全量自动清理并安全关机。
  • 物理真机 Mac mini (chenxu@100.64.0.3) 自动化门禁通过:通过远程真实 Apple Silicon 硬件门禁验证,TCP 吞吐率达 7579 Mbps,UDP 10,000 数据包 0 丢包,Tailscale SSH 握手极速无超时。
  • Apple 官方双重公证与票据装订:App 与 DMG 均获 Apple Developer ID 签名并完成 Apple Notarization 官方双重公证装订(Stapled App + Stapled DMG)。

v1.0.24

Choose a tag to compare

@bcblr1993 bcblr1993 released this 23 Sep 00:02

[1.0.24] - 2026-09-23

Added

  • 用户自定义分流规则与实时语法校验:全面支持用户添加自定义规则,涵盖 DOMAIN, DOMAIN-SUFFIX, DOMAIN-KEYWORD, IP-CIDR, IP-CIDR6, GEOIP,支持图形化表单与 Clash 单行语法双向解析,并通过 CustomRuleValidator 进行字段级输入纠错。
  • 自定义规则实时实测与路径模拟器:在规则配置弹窗及分流规则页集成一键实测与路径匹配模拟,直观展示绿色 CUSTOM 标签及命中详情。
  • 规则无感热重载 (Live Reload):修改或启停自定义规则通过轻量 IPC 管道动态生效,无需断开 TUN 或重置代理连接。
  • 最高分流优先级与 Fake-IP 穿透保护:自定义规则置于分流链最顶端,直连域名规则自动注入 fake-ip-filter,彻底防止 DNS 劫持。

Fixed

  • Tailscale CGNAT 直连与私有网络超时根本解决:在内核 TUN 默认直连排除路由中正式纳入 100.64.0.0/10(255.192.0.0),配合 Tailscale 官方域直连放行,彻底消除 Tailscale 与 Headscale/DERP 连接及 SSH 超时。
  • 应用退出生命周期同步优化:引入退出前同步清理 prepareForApplicationTermination(),立即取消进行中的健康测量与 URLSession 任务,应用退出耗时从 60s 骤降至 < 0.5s。
  • 底层核心协议验证散列对齐:同步生产核心散列至 ProtocolCoreEvidence 与 ThirdPartyLicenses,确保 12 种代理协议与 21 个互操作用例 100% 通过验证。

Verified

  • Tart 虚拟机 6 维网络矩阵全量通过:TUN / 透明代理 x 规则 / 全局 / 直连 6 种模式 100% 通过,测试后 VM 彻底清理还原。
  • 物理真机 Mac mini (chenxu@100.64.0.3) 验收通过:远程测试门禁全部通过(TCP 吞吐达 8032–9670 Mbps,UDP 10,000 数据报 0 丢包),Tailscale SSH 连接快速稳定。
  • Apple 官方双重公证与装订:App 与 DMG 均获 Apple 官方公证通过并已装订票据。

v1.0.23

Choose a tag to compare

@bcblr1993 bcblr1993 released this 22 Sep 07:17

[1.0.23] - 2026-09-22

Fixed

  • 网络通知防抖与动态配置句柄复用:解决在网络设置安装和网卡切换过程中 CoreFoundation 高频通知振荡(>220 次/秒)引发的系统限流警告,通过 150ms 延迟防抖与持久化 SCDynamicStore 句柄,消除日志轰炸并提升网络稳定性。

Changed

  • 引擎 MMDB Zero-Copy 内存映射:GeoIP / MaxMind MMDB 数据加载全面升级为 memmap2 零拷贝内存映射,消除堆内存重复占用,严格遵守 iOS 15MB Jetsam 限制并显著降低 macOS 系统扩展常驻内存。
  • Tokio 异步运行时工作线程约束:限制 Tokio 工作线程池边界,降低后台网络扩展多线程上下文切换开销与内存颠簸。

Added

  • 标准化工程验证与发布流程 (SOP):将本地回归、Tart 虚拟机 6 维网络矩阵自动化验收与即时清理、Apple Silicon 真实物理机验证、Apple 官方公证及 Cloudflare 官网同步正式固化为硬性标准。

Verified

  • Tart 虚拟机 6 维矩阵全量通过:TUN / 透明代理 x 规则 / 全局 / 直连 6 种模式 100% 通过(0 失败,0 崩溃),测试后 VM 彻底清理还原。
  • 物理真机 Mac mini (chenxu@100.64.0.3) 验收通过:50+ 门禁测试全过,TCP 吞吐达 7490~8264 Mbps,UDP 10,000 数据报 0 丢包,DMG 平滑升级/回滚验证通过。
  • Apple 官方双重公证与装订:App 与 DMG 均获 Apple 官方公证通过并已装订票据。

v1.0.22

Choose a tag to compare

@bcblr1993 bcblr1993 released this 20 Sep 13:17

[1.0.22] - 2026-09-20

Fixed

  • 活动连接下的配置热重载(Live Profile Reload)无损生效:彻底移除基于磁盘共享快照文件(pending-reload-snapshot.bin)的旧逻辑,改为直接通过 ProxySelectionProviderRequest.reloadProfile(Data) 传输紧凑二进制 PropertyList(5~35 KB),解决 macOS 跨 UID 沙盒隔离问题。热重载过程无需断开连接、不重建 utun 网卡、不重启进程,实现 TCP 长连接 0 中断。

Added

  • 跨平台 iCloud 订阅与配置目录同步:引入 ProfileCloudSyncManager,支持 macOS 与 iOS 设备间通过 iCloud 私有数据库与钥匙串进行配置目录端到端加密同步,支持冲突检测与版本合并。

Verified

  • Tart 虚拟机热重载与 6 维矩阵实测:热重载 10/10 次 HTTP 200 成功;TUN/透明代理 x 规则/全局/直连全部 6 项模式矩阵 100% 通过;网卡断开 8 秒自愈测试 0 异常。
  • Apple Silicon Mac mini 物理真机验证:全量通过 50+ 项门禁与性能测试(TCP 吞吐速率 > 8500 Mbps,UDP 10,000 数据包 0 丢包)。
  • Apple 官方双重公证与装订:App 与 DMG 安装包均已通过 Apple 官方公证并装订票据。

v1.0.21

Choose a tag to compare

@bcblr1993 bcblr1993 released this 20 Sep 02:30

[1.0.21] - 2026-09-20

Added

  • Proactive Background Memory Trimming (AppWindowManager.swift):
    integrated Darwin malloc_zone_pressure_relief upon window closure and miniaturization, actively releasing unreferenced heap pages to the system and trimming background resident memory footprint from ~123MB down to 60–90MB while running in the menu bar.

Changed

  • Packet Tunnel Buffer Pre-Allocation (CoreBridge.swift):
    pre-allocated capacity (reserveCapacity(64)) on outgoing packet queues during burst I/O writes, eliminating dynamic array reallocation overhead and reducing memory thrashing under high packet throughput.

Verified

  • 10-Hour Soak & Telemetry Long-Run:
    completed a continuous 10.0-hour monitoring run (600 samples at 1-minute intervals) with zero crashes, 100% canary HTTP probe success (600/600), 0 interface errors, and an average App CPU load of 0.04% (P95 0.00%).
  • Physical Apple Silicon Mac mini (chenxu@100.64.0.3):
    executed test_remote_arm64.sh fast over SSH, successfully validating all Network Extensions, core bridges, and proxy protocols with 100% pass rate.
  • Tart Virtual Machine Matrix Acceptance (aether-diag-1434):
    verified 100% pass across all 6 engine and routing permutations (tun/rule, tun/global, tun/direct, transparent/rule, transparent/global, transparent/direct) and passed physical network disconnect & reconnect seamless recovery.

AetherRoute v1.0.20 (Build 2026091904)

Choose a tag to compare

@bcblr1993 bcblr1993 released this 19 Sep 11:03

[1.0.20] - 2026-09-19

Added

  • Menu Bar Popover Fast Node Search (AetherRouteApp.swift):
    integrated instant keyword search and real-time node filtering (searchText, isFiltering) into MenuNodeListInline, enabling swift proxy node lookup by keyword or protocol without navigating submenus.
  • Profile Subscription Auto-Update Interval (TunnelManager+Profiles.swift & ProfilesPageView.swift):
    added configurable subscription refresh schedules (1h, 6h, 12h, 24h, or manual) with persistent storage and scheduled background timer synchronization.
  • Rule Simulator Quick Domain Presets (RulesPageView.swift):
    added quick preset chips (google.com, apple.com, github.com, bilibili.com) inside the Rule Simulator test panel for one-click route diagnostics.

Changed

  • Connections Page Outlet Column Expansion (ConnectionsPageView.swift):
    expanded Outlet column width (min: 100, ideal: 160, max: 320) and added .truncationMode(.middle) with .help(outlet.localizedTitle) tooltips, completely resolving proxy outlet name truncation.
  • Proxies Page Responsive Grid Adaptation (ProxiesPageView.swift):
    fine-tuned adaptive card column widths (min: 250, max: 380) to provide an optimal multi-column layout on wide screens while maintaining compact density on 13" laptop displays.
  • Profile Row Activation Simplification (ProfilesPageView.swift):
    eliminated the redundant "使用" (Use) button on inactive profile rows, allowing whole-row click activation while retaining radio-button status indicators and full accessibility identifiers.
  • Accidental Tunnel Teardown Guard (ConnectionsPageView.swift):
    added a modal confirmation dialog (confirmationDialog) to "全部断开" (Disconnect All) to prevent accidental VPN disconnection.

Fixed

  • AppKit Termination Responder Validation & Re-Entrant Termination (AetherRouteApp.swift):
    conformed AetherRouteApplicationDelegate to NSMenuItemValidation and NSUserInterfaceValidations, installed an explicit AppleEvent handler for kCoreEventClass / kAEQuitApplication, and guarded termination entry points against re-entrant calls (terminationReplyPending, signalTerminationPending), guaranteeing clean Network Extension route restoration before exit.
  • Core Artifact Hashes Synchronization (ProtocolCoreEvidence.json & ThirdPartyLicenses.json):
    synchronized flow core and packet tunnel static library SHA-256 evidence hashes with rebuilt release binaries, passing strict protocol matrix verification.

Verified

  • Tart Virtual Machine Matrix Acceptance (aether-diag-1434):
    verified 100% pass rate across all 6 engine and routing permutations (tun/rule, tun/global, tun/direct, transparent/rule, transparent/global, transparent/direct), confirming zero leaks, immediate route tear-down, and baseline route restoration.
  • Physical Apple Silicon Mac mini (chenxu@100.64.0.3):
    executed test_remote_arm64.sh fast over SSH, successfully validating all Network Extensions, core bridges, and proxy protocols with 100% pass rate.
  • Product Test Suite (scripts/test.sh):
    passed all 280+ unit, integration, memory budget, and design token guard tests with 0 failures.

v1.0.19

Choose a tag to compare

@bcblr1993 bcblr1993 released this 19 Sep 05:02

AetherRoute 1.0.19 (Build 2026091901)

🚀 核心功能与演进 (Features & Architecture)

  • 国内分流与 Apple 服务优化界面开关:
    在配置管理(Profiles)与通用设置(General)中新增运行时开关,支持灵活开启/关闭零配置内存分流策略,开关切换即时生效平滑重载。
  • 双引擎网络切换自愈机制统一:
    在透明代理(Transparent Proxy)中新增系统级 NWPathMonitor 与 SCDynamicStore 物理网卡出口监听器,对齐 Packet Tunnel 的路径变更检测与核心有序平滑重置机制,实现 Wi-Fi 与手机热点切换时零重启无感自愈。
  • YAML 规则优化器容错健壮性:
    增强对空配置、空白行、行内注释及畸形空规则符号(- -, - '', - "")的清洗与过滤机制,杜绝极端配置输入下的崩溃隐患。

⚡️ 核心架构治理与超大对象解耦 (Decoupling)

  • TunnelManager 领域驱动扩展拆分:
    保持公共外观 API(Facade)100% 向后兼容的前提下,将 6,408 行单体精简至 1,727 行,分拆出 7 个职责单一的高内聚模块:连接生命周期、扩展注册与 IPC、配置管理、路由资源、节点选择、流量遥测与并发延迟测速。
  • UI 视图组件化与内存安全:
    抽离出独立的 ProfilesPageView、RulesPageView 与 DNSPageView,全面推行 DesignSystem 语义 Token 并消除内存强引用循环。

🐞 问题修复与体验优化 (Fixed)

  • Dock 图标与应用生命周期:
    修复隐藏 Dock 图标在应用重启及重开窗口后失效的问题,建立稳健的 NSApp.setActivationPolicy 与窗口生命周期同步。
  • 更新检查防抖与冷却保护:
    开启自动更新时立即触发检查,并提供防抖与冷却保护。
  • 测试沙盒文件刷新竞态消除:
    修复测试子进程标记文件未及时 flush/fsync 引发的偶发 JSON 解码竞态,确保 CI/CD 与本地门禁高稳定性。

🛡 虚拟机与物理真机实测 (Verified)

  • 物理真机 Mac mini 实测全通:
    在 Apple Silicon 物理设备(chenxu@100.64.0.3)上远程执行 test_remote_arm64.sh fast,系统扩展与全部 12 类协议全绿通过。
  • Tart 虚拟机 6 维网络矩阵全通:
    TUN/透明代理 x 规则/全局/直连共 6 项矩阵场景 100% 通过(0 fail,0 crash)。
  • 本地自动化回归套件全通:
    本地全量构建与 280+ 自动化测试用例一次性全部通过。

🔐 签名与官方公证 (Security & Notarization)

  • Developer ID: 编程不良人 (BianChengBuLiangRen)
  • Apple Notarization: 官方公证通过(App Submission 2606623c-2fac-4790-825b-ffc58466c4ce,DMG Submission ecd2add3-ac45-495a-bac4-4476f723ed77,Status Accepted),完成双票据装订(Stapled)
  • Hardened Runtime: 启用
  • Sparkle Ed25519: 签名认证通过 (08K/UqV+xRnugn77SaeXR40KptmwrVXFEqip5LQPO3YINsTipGH2GAf6LNMXnGN2y274s6WY792ivWBpwCt3DQ==)
  • Release Manifest: SHA-256 完整性校验通过 (daa7767fa1c6b3638fc25119ebb12095c1c30f717633aad448cc8ea67fbd0553)