< 返回版块

GOODBOY008 发表于 2026-06-02 17:19

Tags:ssh,sftp,ssh-client,sftp-client,ftp-client,server-management,terminal-emulator,mobaxterm-alternative,finalshell-alternative,xshell-alternative

GitHub: https://github.com/GOODBOY008/r-shell
协议:MIT | 语言:Rust + TypeScript

背景:为什么要做 R-Shell

做运维、后端或者云原生开发,SSH 客户端几乎是常驻软件。问题是,很多常见工具要么比较重、内存占用高,要么功能割裂(终端一个软件、文件传输一个软件、监控再一个软件)。

R-Shell 的目标很直接:把远程连接、文件管理、系统监控、日志查看整合到一个轻量桌面应用里,并且保持原生性能和低资源占用。

项目采用 Rust + Tauri 2 架构,避免了 JVM/Electron 这类运行时带来的额外负担。

它能做什么

一句话:一个应用完成远程连接 + 文件传输 + 监控排障

目前支持:

  • SSH 交互终端(支持 PTY、分屏、多标签)
  • SFTP / FTP / FTPS 文件管理与传输
  • 目录同步(本地与远端双向)
  • 系统监控(CPU、内存、磁盘、进程)
  • GPU 监控(NVIDIA / AMD)
  • 网络监控与日志查看
  • 会话保存与重连恢复

性能与体积

根据项目 README 中的对比数据:

  • 内存占用:R-Shell 约 34 MB(同场景下显著低于传统重型方案)
  • 安装包体积:
    • Windows 约 3.99 MB
    • macOS 约 8.13 MB

这类体量的优势很实际:日常可以和 IDE、浏览器、Docker 长期开着,不容易因为工具本身拖慢机器。

项目截图

R-Shell 截图

快速上手

Homebrew 安装(macOS)

brew tap GOODBOY008/tap
brew install --cask r-shell

从源码运行

git clone https://github.com/GOODBOY008/r-shell.git
cd r-shell
pnpm install
pnpm tauri dev

核心设计(技术实现简述)

R-Shell 的核心链路可以概括为:

连接管理 → 指令/终端通道 → 文件与监控能力复用 → 前端多面板展示

技术上做了两条通信路径分工:

  • 一次性请求:Tauri Command(用于连接、文件操作、系统信息等)
  • 实时流式会话:WebSocket(用于 PTY 终端输入输出与窗口 resize)

这种设计能同时兼顾:

  • 交互终端的实时性
  • 业务命令的可控性
  • 后端资源管理的稳定性

和常见方案相比的定位

R-Shell 不是“某一个功能点特别花哨”的工具,而是更偏向“工程化日常使用”:

  • 不依赖云端服务,可本地运行
  • 多协议统一入口,减少工具切换
  • 低内存和小体积,适合长期常驻
  • 开源可扩展,适合二次开发

适用场景

  • 运维值班:一边看终端,一边看日志和系统指标
  • 后端联调:远程部署、配置修改、日志排查一体化
  • 数据/AI 工程:多机连接、批处理脚本执行、传输结果回收
  • 中小团队:统一使用开源工具,降低授权与运维成本

当前状态与规划

项目处于持续迭代阶段,当前版本已覆盖日常开发与运维中的高频能力。后续重点方向包括:

  • 持续优化终端与传输稳定性
  • 增强跨平台体验一致性
  • 补充更多效率功能与自定义能力

欢迎提交 Issue / PR,也欢迎提出你在真实场景中的需求。

如果这个项目对你有帮助,欢迎点个 Star: https://github.com/GOODBOY008/r-shell


Ext Link: https://github.com/GOODBOY008/r-shell

评论区

写评论

还没有评论

1 共 0 条评论, 1 页