WinMosh:原生 Windows Mosh 客户端,无需 WSL,一行命令安装
WinMosh原生 Windows Mosh 客户端无需 WSL一行命令安装什么是 Mosh为什么需要 WinMoshMoshMobile Shell是 MIT 开发的远程终端协议专为移动场景设计。它的核心能力是断网不中断笔记本电脑休眠、Wi-Fi 切换、IP 地址变化后SSH 连接直接断开Mosh 自动恢复高延迟可用在 4G/5G、跨国链路上SSH 的逐字回显几乎不可用Mosh 通过本地回显保持流畅基于 UDP不同于 SSH 的 TCP 长连接Mosh 的无状态 UDP 天然抗丢包但官方 Mosh 发布 14 年来一直没有原生 Windows 客户端。Windows 用户要装 WSL、Cygwin 或 MSYS2 才能用。WinMosh 填补了这个空白用 Rust 完整实现了 Mosh 客户端协议直接运行在 Windows Terminal / PowerShell / cmd 中不依赖任何 Unix 兼容层。安装irmhttps://raw.githubusercontent.com/BG2MKJ/WinMosh/main/install.ps1|iex一行命令自动下载解压加入 PATH。安装后同时提供winmosh和wm两个命令名。使用# 直接连接wm userhost# 指定服务器端 mosh-server 路径conda 安装的情况wm userhost--server/home/user/miniconda3/bin/mosh-server# 保存别名wm alias add myserver user192.168.1.100--server/path/to/mosh-server wm myserver# 更新wm update--download# 卸载wm--uninstall技术实现项目使用 Rust workspace 分为六个 crate模块职责原创度winmosh-protocolSSP 状态同步、AES-OCB 加密、数据报分片协议逻辑参照官方 CRust 独立编写winmosh-terminalVT/ANSI 解析、帧缓冲自研渲染直接透传 HostByteswinmosh-bootstrapSSH 连接、远端 mosh-server 启动自研winmosh-configTOML 配置、别名管理、SSH config 解析完全原创winmosh-platformWindows 控制台 I/O、raw mode完全原创winmoshCLI、会话主循环、更新/卸载自研关键协议实现SSPState Synchronization Protocol状态编号、diff 生成/应用、ACK 机制、重传完全跟随官方 Mosh 的 C 实现AES-128 OCB 加密通过官方 golden vector 验证与 mosh-server 线级兼容Protobuf 编解码手写轻量解析器不依赖 protoc兼容性服务器mosh-server 来源结果Ubuntu 22.04, apt 安装系统包管理器✅Ubuntu 22.04, conda-forgeminiconda3✅两个环境均无需修改服务器端直接连接正常使用。测试覆盖86 个单元测试winmosh-protocol: 38加密、分片、状态同步、传输层winmosh-terminal: 16终端解析、帧缓冲、渲染winmosh-config: 13配置加载、别名、SSH 解析winmosh-bootstrap: 8SSH 命令构建、输出解析winmosh: 10CLI、会话、按键映射winmosh-platform: 1控制台模式网络韧性模拟 70% 丢包率下 200 次状态变更最终收敛一致断连 40 个状态后恢复任意乱序到达正确重组。已知限制预测性本地回显尚未实现高延迟下打字有滞后感不支持 Mosh 的滚动历史同步仅支持 Windows x86_64项目地址https://github.com/BG2MKJ/WinMosh