Releases: bcblr1993/AetherRoute
Release list
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 静态官网及发布专页同步更新并完成发布。
v1.0.27
v1.0.27 发布验收说明
2026-09-24,完成 Tailscale 虚拟覆盖网络与 Darwin 内核 NetworkExtension excludedRoutes 静态物理网关路由冲突根治修复、System Extension 版本升级平滑切换验证、Tart 虚拟机 6 维网络矩阵验证及 Apple Silicon 物理真机全量回归测试:
核心优化与演进落地:
-
虚拟覆盖网络(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自动净化机制,自动纠正既有配置中的覆盖网段。
- 深度定位用户配置
-
System Extension 平滑升级与构建版本递增(
project.yml):- 推进 build 版本至
2026092402,确保 Darwinsysextd在实机与测试环境中能准确识别新安装包版本并完成在轨热替换,杜绝二进制 hash 不匹配问题。
- 推进 build 版本至
虚拟机 6 维矩阵与真实硬件自动化验证结论:
-
Tart 虚拟机 6 维网络矩阵测试(
aether-diag-1434):- 执行脚本:
./scripts/test_vm_acceptance_matrix.sh(Candidate:1.0.27build-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 内临时测试文件、解压目录及日志,虚拟机保持初始干净状态并安全关机。
- 执行脚本:
-
物理真实设备实机验证(
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-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 终端会话持续保持畅通,彻底杜绝网络分析与代理开启时的连接中断。
- 启动并连接成功,菜单栏显示
- 远程门禁执行:
-
本地静态与安全门禁核查:
./scripts/verify_protocol_matrix.sh:12 种代理协议、21 个互操作用例全部验证通过;./scripts/test.sh:Swift 单元回归与全量逻辑测试 100% 通过;scripts/test_network_switch_gate.py、EngineReconnect、RuntimeEnvironment测试全部通过。
正式发布规范执行核验:
- 采用标准生产核心(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 静态官网及发布专页同步更新并完成发布。
v1.0.26
v1.0.26 发布验收说明
2026-09-24,完成 Tailscale 与虚拟覆盖网络底层网卡绑定穿透修复、私有 DERP/Headscale 域名直连放行、Core 引擎 socket_helpers 路由穿透优化、Tart 虚拟机 6 维网络矩阵验证及 Apple Silicon 物理真机全量回归测试:
核心优化与演进落地:
-
核心代理引擎底层物理网卡绑定穿透修复(
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,无任何阻断与丢包。
- 深度排查并定位 Tailscale 节点在开启代理后不可达的底层根本原因:当分流引擎发起 DIRECT 出站连接时,底层 socket 默认被绑定(
-
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 回退毫秒级就绪。
- 自动在分流引擎层注入 Tailscale 协调服务器与 DERP 中继节点域名(
-
自定义规则前缀校验安全防护(
CustomRule.swift):- 在 CIDR 校验中阻断
/0无效掩码输入,避免意外生成0.0.0.0/0全局全量捕获规则导致正常流量被误劫持。
- 在 CIDR 校验中阻断
-
Core 引擎提交与证据链同步(
Core/Engine&ProtocolCoreEvidence.json):- 核心引擎更新并提交至
c23370da96b70e6282f04254b4a93761e2a54fee; - 同步更新并锁定
ProtocolCoreEvidence.json与ThirdPartyLicenses.json的生产核心 SHA-256 哈希值与源码提交点,严格保障供应链完整性与协议证据链闭环。
- 核心引擎更新并提交至
虚拟机 6 维矩阵与真实硬件自动化验证结论:
-
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 内临时测试文件、解压目录及日志,虚拟机保持初始干净状态并安全关机。
- 执行脚本:
-
物理真实设备实机验证(
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-20260923T235219Z-fast); - 性能指标:TCP 吞吐率达到 7579 Mbps,UDP 10,000 数据包完整性测试 0 丢包;
- Tailscale 连通性:实际安装并运行 v1.0.26 验证,AetherRoute 开启状态下 Tailscale ping 延迟稳定在 27ms,SSH 交互快速流畅。
- 远程执行:
-
本地静态与安全门禁核查:
./scripts/verify_protocol_matrix.sh:12 种代理协议、21 个互操作用例全部验证通过;./scripts/verify_licenses.sh source:439 个第三方开源组件及证书许可全部合规;./scripts/verify_localizations.sh:1008 个国际化词条(中文/英文)100% 匹配;clash-lib cargo test:335 个测试用例全部通过。
正式发布规范执行核验:
- 采用标准生产核心(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 静态官网及发布专页同步更新并完成发布。
v1.0.25
[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
[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
[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
[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
[1.0.21] - 2026-09-20
Added
- Proactive Background Memory Trimming (
AppWindowManager.swift):
integrated Darwinmalloc_zone_pressure_reliefupon 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):
executedtest_remote_arm64.sh fastover 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)
[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) intoMenuNodeListInline, 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):
conformedAetherRouteApplicationDelegatetoNSMenuItemValidationandNSUserInterfaceValidations, installed an explicit AppleEvent handler forkCoreEventClass/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):
executedtest_remote_arm64.sh fastover 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
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 Submissionecd2add3-ac45-495a-bac4-4476f723ed77,Status Accepted),完成双票据装订(Stapled) - Hardened Runtime: 启用
- Sparkle Ed25519: 签名认证通过 (
08K/UqV+xRnugn77SaeXR40KptmwrVXFEqip5LQPO3YINsTipGH2GAf6LNMXnGN2y274s6WY792ivWBpwCt3DQ==) - Release Manifest: SHA-256 完整性校验通过 (
daa7767fa1c6b3638fc25119ebb12095c1c30f717633aad448cc8ea67fbd0553)