Skip to content

Ternimal v1.2.1 — 中继稳定性 + 全面安全审计

Choose a tag to compare

@eathard eathard released this 14 Sep 02:36
· 26 commits to main since this release

Release v1.2.1 — 中继稳定性 + 全面安全审计

代码: tag v1.2.1(06a2824) · 验证: 全矩阵 16 套件绿(relay 14+e2e 13+matrix 6+admin 11+takeover 5+token 6+崩溃安全 5+风暴 5+geo 14+m1/m3/m4/softkeys)+ 生产 VPS 实测

新增

  • B+ 流动式几何所有权 —— 终端尺寸随「活动端」流动:手机专注时自动适配手机(5s 防抖驻留),桌面聚焦/本地调整即回收;适配芯片可强制接管/释放;服务端 GeoArbiter 单一裁定(14/14 验证)
  • ⚙ 设置面板右下角版本号 —— package.json 单源,滚动不漂移
  • 查看二维码/链接按钮 —— 撤销旁即看即用;带时间戳防缓存

中继稳定性(两起生产事故闭环)

  • 「中继连接中断,正在自动重连…」死循环根除:陈旧令牌页烧锁(4002)曾被当瞬态无限重连并持续给宿主锁定窗续期;现错误帧 4002/4005 → 终态 denied 卡片,且重试计数只在认证成功时清零(多层:错误帧门 + denied 短路 + 关闭码语义透传 4001/4002/4005)
  • 认证窗口自爆修复:业务帧在 join→auth-ok 期间发送会被宿主杀连接;现统一入 outbox 认证后冲洗(join/auth-response 控制帧豁免)

全面安全审计(48 项:P0×6 / P1×12 / P2×17 / P3×13)

  • P0:中继坏帧崩溃面(ws error 兜底)、认证前窗口会话元数据泄露(零知识修复)、XFF 首值伪造(改末值)、URL 片段令牌驻留(即清 + sessionStorage 刷新恢复)
  • P1:管理 API 自锁、限流记录无限增殖、preload 裸 IPC 桥删除、远程 create shell/cwd 白名单、口令解压封顶(zip 炸弹)、force 申请限流、退出清理保证
  • P2:子码哈希索引 O(1)、config 损坏拒启、异步 scrypt、resize 上界钳制、证书过期自愈、托盘/日志令牌脱敏、CSP 收紧 + 反点击劫持、E2EE 派生竞态、断线期输出补齐
  • P3:死代码清扫、ResizeObserver 泄漏、CSV 公式注入、错误路径 textContent 化

已知边界

  • 手机端旧标签页需关闭重开(内存中旧 bundle 不含修复,重载即生效)
  • 中继用量/子码仍为内存态(重启清空,v1.3 backlog 持久化)

安装包

平台 产物 说明
Windows x64 Ternimal Setup 1.2.1.exe Windows 原生构建(node-pty 预编译)
Linux deb ternimal_1.2.1_amd64.deb 已在本机安装验证
Linux AppImage Ternimal-1.2.1.AppImage 免安装

升级提示:v1.2.0 → v1.2.1 直接覆盖安装;子码与通道无需重发。