Skip to content

v1.2.0

Choose a tag to compare

@bcblr1993 bcblr1993 released this 05 Oct 08:28
· 177 commits to main since this release

v1.2.0 发布说明

2026-10-05,功能版本:自签证书的节点不再需要"跳过证书校验"。AetherRoute 在所有 TLS 协议上支持证书指纹固定(fingerprint),Hysteria2 与 TUIC 支持自定义 CA(ca / ca-str),行为与 mihomo 一致。

新功能

  1. 证书指纹固定:VMess、VLESS(TLS / WebSocket / gRPC / HTTP/2)、Trojan、AnyTLS、HTTP(S)、SOCKS5-TLS、Hysteria2、TUIC 支持 fingerprint(服务器证书 SHA-256,可带冒号、不区分大小写)。指纹匹配即代替 CA 与域名校验;开启"跳过证书校验"时仍校验指纹;TLS 握手签名始终验证,拿到证书文件也无法冒充服务器。
  2. 自定义 CA:Hysteria2、TUIC 支持 ca / ca-str,只信任给定 CA,仍校验域名。导入配置文件时,可读取的 CA 文件自动内联为 ca-str;读取不到会明确提示。
  3. 手动添加节点新增"证书指纹(可选)"输入框与格式校验;Hysteria2 分享链接的 pinSHA256 自动保留。
  4. TUN 本地代理说明:设置 › 网络 › 本地代理说明 TUN 已接管终端流量,复制终端代理环境通常不需要。
  5. 一键协议互通门禁:fetch_interop_tools.sh + test_protocol_interop_all.sh,纳入发布流程。

行为变化

  • 指纹格式错误或 CA 读取不到时,只让该节点拒绝连接并给出原因,其他节点与代理组照常工作(此前 AnyTLS 节点带指纹会加载失败,并拖垮引用它的代理组)。
  • 订阅里同时写了 fingerprint 与 skip-cert-verify: true 的节点,以前不校验指纹,现在会校验(与 mihomo 一致);指纹过期或填错时,该节点会提示"certificate fingerprint mismatch"。

验证结论

  1. 本地回归:test_network_switch_gate.py、Tests/EngineReconnect/run.sh、Tests/RuntimeEnvironment/run.sh、./scripts/test.sh 全部通过,零编译警告;引擎单元测试 390 个、App 单元测试 484 个全部通过。
  2. 协议互通门禁(release,两轮):5 项全部通过;指纹固定 26 次、ca-str 8 次连接成功,错误指纹 26 次、不受信任证书 26 次全部拒绝。
  3. 物理真机(Apple Silicon Mac mini):本次 Tart 虚拟机不可用,6 维矩阵改在真机上以同一验收脚本执行,TUN / 透明代理 × 规则 / 全局 / 直连 全部通过(空闲复用 6/6、2 MiB 上传 6/6、SNI 恢复 3/3);远程回归门禁通过。详见 Docs/ReleaseExceptions/1.2.0.md。

正式发布规范执行核验

  1. 采用标准生产核心(Normal Core Variant),不含 QA 自动化标记,发布通道为 stable;
  2. 主程序与两个网络扩展均为 Developer ID 签名与 Hardened Runtime;
  3. 经 Apple 公证并完成票据装订(App + DMG);
  4. Sparkle 更新清单使用 Ed25519 密钥签名;
  5. 磁盘镜像不含测试说明文件,卷标为 AetherRoute 1.2.0。