news 2026/7/27 1:18:24

tssh v0.1.26 发布:新增多路复用等功能,修复大量 Bug 并提升兼容性

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
tssh v0.1.26 发布:新增多路复用等功能,修复大量 Bug 并提升兼容性

发布 v0.1.26 (Release v0.1.26)

本次发布为 SSH 多路复用 (Multiplexing) 和 UDP 会话管理增添重要新功能,还有广泛的兼容性改进、新配置选项及大量 Bug 修复。

核心新特性 (Major Features)

- 多路复用与 ControlMaster 支持:新增 `-M` 参数启用多路复用主节点模式;新增 `-O <ctl_cmd>` 参数控制多路复用主进程 (#260);新增 `-S` (ControlPath) 支持,让 `tssh` 能作为 Mosh 等工具的底层 SSH 客户端;迁移至上游 `golang.org/x/crypto` 原生的 `ssh.NewControlClientConn`,提供更安全、原生的 OpenSSH ControlMaster 代理支持。

- UDP 会话分离与恢复 (Attach & Detach):支持分离 (detach) 当前活跃的 UDP 会话,也支持跨设备连接 (attach) 到已存在的 UDP 会话。

- 主机密钥验证与管理:新增对 `VerifyHostKeyDNS` 的支持,用于基于 SSHFP 的主机密钥验证 (#261);新增 `--remove-host-key` 选项,可清理 `known_hosts` 中的过期条目 (#267);新增对 `HashKnownHosts` SSH 配置的支持。

- 主机名规范化 (Host Canonicalization):实现对规范主机名 (canonical host) 查找及 `CanonicalizeHostname` 的支持,修复了 `CanonicalizeMaxDots` 的行为问题 (#248, #251)。

- 协议覆盖:新增 `--tcp` 和 `--quic` 选项,可快速覆盖默认的 `UdpMode` 设置 (#263)。

✨ 功能增强 (Enhancements)

- 连接与稳定性:升级 `tsshd` 依赖,提升重连能力和诊断功能;新增可配置的 `UdpReconnectExitKey`(如 `Ctrl+D`),允许在 UDP 连接丢失时手动快捷退出 (#244);将默认的 `UdpAliveTimeout` (UDP 保活超时) 延长至 10 天,优化时间格式显示;优化 UDP 预览的获取、渲染及终端重绘机制;改进端口转发关闭及会话附加 (attach) 时的错误处理机制。

- 配置与 DNS:在 `tssh.conf` 中新增 `CustomDnsServer` 配置(可通过 `--dns` 参数覆盖);支持加载符合 XDG 目录规范以及传统的 SSH 配置文件;新增模糊查找(fuzzy selection) 主机的配置项及取消时的退出状态码 (#269)。

- 界面与体验 (UI & UX):在终端标题栏中直接显示连接的 RTT 延迟;在 "tiny" 主题下,当主机名为空或与别名相同时自动隐藏主机信息 (#252);新增 `-n` (`NoStdin`) 参数支持。

- 兼容性:支持 `KexAlgorithms` 配置,统一 SSH 算法处理方式 (#240);支持在 UDP 模式下使用 `ProxyCommand`(自动隐含 TCP 代理模式)(#262);增加对更多远程操作系统和架构变体的支持 (#242, #243);对齐 OpenSSH 规范,优化 Agent 密钥匹配和代理配置的逻辑 (#247)。

Bug 修复 (Bug Fixes)

- 网络:在网络地址存在歧义时,正确遵循 `AddressFamily` 优先设置 (#256)。

- 文件路径:修复解析身份认证文件时主目录 (`~/`) 的路径展开问题 (#259)。

- 终端问题:当标准输出被管道重定向时,跳过 Windows 虚拟终端初始化逻辑 (#264);过滤 `ESC[6n` 序列时,忽略终端的光标位置报告。

- 路由与状态:修复非 UDP 目标位于 UDP 跳板机 (jump host) 后方时的退出通知异常;确保远程 Shell 结束时,客户端能正确退出;在连接丢失期间丢弃服务端输出,防止终端出现界面破坏或乱码;将 `args.Destination` 与解析后的最终主机名同步,确保后续的配置处理阶段能正确应用 `Host` / `Match` 规则块 (#251)。

- 常规修复:确保通过临时文件进行二进制文件的原子化安装,防止更新时文件损坏 (#245);修复重复的主机别名被错误解析的问题 (#249);修复 macOS 下默认的 `ssh-sk-helper` 路径解析问题 (#241);将字符串判断中的 `strings.ToLower` 替换为 `strings.EqualFold`,实现更安全的忽略大小写比较。

底层与内部改进 (Build & Docs)

- 在 CI 中添加自动化的预发布 (pre-release) 构建部署流程。

- 优化 README 的排版、表格布局、官方网站 URL 以及安装指南。

- 将 Debian 打包元数据的 section 从 `utils` 调整为 `net`。

- 更新项目包元数据并升级底层依赖项。

新贡献者 (New Contributors)

- @p3ddd 在 [https://github.com/trzsz/trzsz-ssh/pull/241](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2Ftrzsz%2Ftrzsz-ssh%2Fpull%2F241) 提交了首次贡献。

- [@shoaly](https://gitee.com/shoaly) 在 [https://github.com/trzsz/trzsz-ssh/pull/244](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2Ftrzsz%2Ftrzsz-ssh%2Fpull%2F244) 提交了首次贡献。

- @mvanhorn 在 [https://github.com/trzsz/trzsz-ssh/pull/260](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2Ftrzsz%2Ftrzsz-ssh%2Fpull%2F260) 提交了首次贡献。

**完整的更新日志** :

详情查看:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/27 1:09:09

嵌入式硬件设计核心:深入解析SoC引脚复用机制与配置实践

1. 项目概述&#xff1a;从引脚表到设计蓝图在嵌入式硬件设计的江湖里&#xff0c;有一份文档的地位堪比“武功秘籍”——那就是处理器的引脚特性表。我刚接触OMAP3530/3525时&#xff0c;面对那份长达数十页、密密麻麻的表格&#xff0c;第一反应也是头大。但十几年摸爬滚打下…

作者头像 李华
网站建设 2026/7/27 1:08:44

C674x DSP三大核心控制外设:eCAP、eQEP与eHRPWM实战解析

1. 项目概述&#xff1a;深入理解C674x DSP的三大核心控制外设在嵌入式实时控制领域&#xff0c;尤其是电机驱动、数字电源和精密运动控制这些对时序和精度要求极为苛刻的应用中&#xff0c;软件模拟信号处理往往力不从心。延迟、抖动和CPU负载会成为系统性能的瓶颈。这时&…

作者头像 李华
网站建设 2026/7/27 0:57:04

Gemini Omni Flash深度解析:多模态视频生成与对话编辑实践

# Gemini Omni Flash深度解析&#xff1a;多模态视频生成与对话编辑实践## 一、背景与挑战&#xff1a;视频生成模型从“黑盒生成”到“交互式编辑”的进化2025-2026年&#xff0c;视频生成模型经历了爆发式增长。OpenAI Sora的发布将视频生成推向电影级质量&#xff0c;Runway…

作者头像 李华
网站建设 2026/7/27 0:40:32

跨屏智能家居体验:手表、手机与中控屏的界面协同设计

跨屏智能家居体验&#xff1a;手表、手机与中控屏的界面协同设计 一、引子&#xff1a;同一个智能家居&#xff0c;三套不同的交互语言 打开 Apple Watch 上的家庭 App——一个简单的图标网格&#xff0c;每页 6 个设备&#xff0c;点击切换开关状态。打开 iPhone 上的家庭 App…

作者头像 李华