Skip to content

v2.2.0

Choose a tag to compare

@bcblr1993 bcblr1993 released this 05 Nov 21:13
· 26 commits to main since this release

AetherRoute 2.2.0

全新支持一等公民链式代理(节点级前置代理 dialer-proxy 与有序多跳中继策略组 relay),并彻底解决节点/路由模式切换时旧节点在途连接残留及持久 QUIC 会话池复用问题,同步支持连接页全跳点完整链路可视化(Group → Hop1 → Hop2)。适用于 macOS 15 及以上、Apple Silicon。

更新

  • 一等公民链式代理(dialer-proxy 与 relay):
    • 节点级前置代理(dialer-proxy):原生配置编辑器支持为任意自定义出站节点指定上游前置代理(支持策略组或单个节点,如通过中转节点拨号至落地住宅 IP / 专线节点),节点列表自动展示 经由 <上游>(Via <upstream>)徽章;编译器与 Rust 内核内置最大 8 跳深度与环路检测保护(validateDialerProxyChain / resolve_dialer_proxy_chains)。
    • 多跳中继策略组(type: relay):策略组新增“链式代理(Relay Chain)”类型,支持按顺序编排任意多跳节点序列,代理页直观呈现只读有序跳点路径(入口 → 中继 → 落地),无需手动编写 YAML。
  • 节点/路由模式切换时旧节点连接即时驱逐与多跳链路追踪:
    • 全跳点连接链追踪与精确关闭:Rust 内核在 Session、TrackerInfo 与 StatisticsManager 中完整记录多跳 hop_chain,连接页实时展示完整多跳链路(Group → Hop1 → Hop2);切换策略组节点时同时驱逐仍流经旧节点(previousMember)及组内非新选节点的在途连接,切换至 Direct 直连模式时立即关闭所有非 DIRECT 代理连接。
    • Hysteria / Hysteria2 持久 QUIC 会话池同步清理:在 OutboundHandler、策略组与 hysteria2 / hysteria 出站实现 evict_active_sessions,切换节点时同步清空旧节点缓存的 Arc<Client> QUIC 连接池,杜绝新开流继续复用旧节点 QUIC 会话。

验证

  • 本机 test_fast_lane.sh(15 步,含 555 项 Rust 引擎单元测试、Mihomo 端到端对照与默认指纹 12 协议互通门禁)、Chrome 指纹 12 协议互通门禁、Chrome 指纹 9 真实站点 + Cloudflare ECH 测试、43 节点 Mihomo 实验室逐节点对照(both_ok=43)与完整 scripts/test.sh 零警告通过。
  • 隔离环境 vm:macos27 6 维网络矩阵、远程 arm64 源码门禁与 300s UI 卡顿及内存预算门禁(showcase 切页 p50=60.4 ms / p95=138.1 ms / max=266.3 ms,内存 median 65 MB / max 79 MB / growth +1 MB;large 切页 p50=58.3 ms / p95=131.9 ms / max=237.1 ms,内存 median 64 MB / max 77 MB / growth +1 MB)全部通过。
  • 隔离环境 vm:macos27 绑定正式公证候选包(f0396633b76e26c5cd204ea63569628e1b6e746396614e4228a21c9f0aab4a9c)完成 TUN 与透明代理双引擎六项运行时证据验证:50 秒 TLS 空闲 keep-alive 复用通过、2 MiB 大请求上传通过(TUN 2.838s、透明代理 3.050s)、3 轮共 6 次网卡断连切换恢复全部通过(TUN 0/1/2/1/2/1 s、透明代理 2/2/0/2/2/1 s,零手动重连)。
  • 正式包完成 Developer ID 签名、Apple 官方公证、票据装订和 Sparkle Ed25519 更新签名验证。

完整验收与边界说明。