【开源】7 天,我用 Rust 复刻了 FinalShell!Rhost v1.0.0 发布
前言FinalShell 好用但它是闭源的Xshell 强但它收费且只支持 WindowsTabby 现代但它是 Electron 的——开几十个标签页内存直接起飞。作为一个天天跟服务器打交道的人我一直在找一款开源、跨平台、轻量、内存友好的 SSH 终端工具。找了一圈没找到完全满意的干脆自己写一个。Rhost 是什么Rhost是一款基于Tauri 2 Rust Vue 3的开源远程主机管理器对标 FinalShell提供 SSH 终端、SFTP 文件管理、端口转发、服务器监控等能力支持 macOS / Windows / Linux。一句话用更低的内存占用和更流畅的多连接体验管理你的远程服务器。为什么不用 ElectronElectron 类终端工具在大量终端输出时存在几个痛点JSON 序列化开销大高频字节流吞吐受限终端刷日志时明显卡顿ANSI 转义序列可能损坏颜色、光标控制在 JSON 编解码中容易出问题多连接并发时内存飙升每个连接都是一个渲染进程开多了 UI 卡死Rhost 采用原生二进制 IPC 流架构从根本上解决这些问题终端字节流 → 自定义二进制帧type:u8 len:u32 payload→ IPC Channel → xterm.js高频数据流走二进制 Channel不经 JSON低频控制消息走 invoke/JSON每会话独立 Channel数据流完全隔离实测开 10 终端标签页内存占用比 Electron 类工具低一个数量级刷日志丝滑不卡。核心特性特性说明多标签 SSH 终端xterm.js 渲染、UTF-8 全链路透传、右键菜单、多会话广播断线自动重连网络意外中断触发指数退避重连1s 起翻倍、封顶 30s手动断开不重连SFTP 文件管理双栏浏览、流式传输队列、断点续传、暂停/取消端口转发本地/远程/SOCKS5 动态转发状态实时推送与流量统计服务器监控CPU/内存/磁盘/网络/进程周期指标零 sudo、零远端落盘主机密钥校验TOFU 首次信任 known_hosts 持久化密钥变更弹红色警告安全凭证密码/私钥口令存入系统密钥环绝不写入配置文件配置导入导出整体配置与主机列表批量导入导出导入后一键重启生效技术栈后端Rust (edition 2024) Tokio 全异步 russh russh-sftp keyring 前端Vue 3.5 TypeScript Vite Xterm.js 桌面Tauri 2后端所有 SSH IO 纯 async每个会话绑定独立 IPC ChannelRust 层统一管理会话生命周期。ssh/模块除 manager 外不依赖 Tauri可独立单测。截图工作台全景多标签终端 MOTD 欢迎面板 SFTP 文件管理 实时服务器监控SFTP 双栏文件管理流式传输队列、断点续传可视化端口转发本地/远程/SOCKS5 规则实时流量统计快速连接输入 SSH 命令一键建立连接内置示例与历史文档与下载 项目文档https://shijiecloud.github.io/rhost/⬇️ GitHub Releaseshttps://github.com/ShiJieCloud/rhost/releases⬇️ GitCode Releaseshttps://gitcode.com/ShiJieCloud/rhost/releases GitHub 仓库https://github.com/ShiJieCloud/rhost GitCode 仓库https://gitcode.com/ShiJieCloud/rhost