Files in the top-level directory from the latest check-in
- 更新计划.md
- dists
- scripts
- src
- src-tauri
- build_check.sh
- index.html
- package-lock.json
- package.json
- postcss.config.js
- README.md
- tailwind.config.js
- THIRD_PARTY_NOTICES.md
- tsconfig.json
- tsconfig.node.json
- UI风格.md
- vite.config.d.ts
- vite.config.js
- vite.config.ts
Sentry II
跨平台 Linux 服务器运维管理客户端,支持 SSH 连接管理、远程文件操作、常用运维功能一键执行和交互式终端。
基于 Tauri 2 + React + Rust 开发,Windows / macOS / Linux 三平台通用。
功能
左侧栏管理服务器连接和远程文件目录,右侧是运维功能卡片网格,底部是可折叠的终端面板。连上服务器之后点卡片就能执行对应操作,结果实时输出到终端,不用手敲命令。
主要能力包括:
- 连接管理:密码 / 密钥认证,分组管理,连接状态实时显示,密码用系统钥匙串加密存储
- 文件浏览:SFTP 远程目录树,上传下载,重命名删除,权限修改
- 系统管理:系统信息查看、更新系统、更换镜像源、服务管理、磁盘分析、CPU/内存监控、日志查看、防火墙管理、网络测试
- 文件工具:Hash 校验、文件搜索、批量改权限
- 用户安全:用户管理、登录历史、SSH 密钥管理
- 网络服务:端口监听查看、DNS 配置
- 包管理:已安装软件列表、缓存清理
- 交互式终端:内置 xterm.js 全功能 PTY 终端,可以像普通 SSH 客户端一样手动敲命令
- 运维登记:操作记录持久化,支持按月份浏览和搜索
技术栈
| 层 | 技术 |
|---|---|
| 桌面框架 | Tauri 2 |
| 前端 | React 18 + TypeScript + Vite + TailwindCSS |
| 状态管理 | Zustand |
| 终端 | xterm.js |
| 后端 | Rust(edition 2021) |
| SSH | russh + russh-sftp |
| 数据库 | SQLite(sqlx) |
| 加密 | AES-256-GCM + 系统 Keyring |
SSH 库选了 russh 而不是 libssh2,主要是为了纯 Rust 实现不依赖 OpenSSL,Windows 上编译省心很多。密码加密用的系统钥匙串托管密钥,用户不需要设主密码,首次启动自动生成。
开发环境
需要装好 Node.js、Rust 和 Tauri 2 的依赖。macOS 上还需要 Xcode Command Line Tools,Linux 上需要 webkit2gtk 那一套。
# 安装前端依赖
npm install
# 开发模式运行
npm run tauri dev
# 打包当前平台
npm run tauri build
Windows 打包
Windows 安装包通过 GitHub Actions 在 windows-latest runner 上构建,触发方式是打 tag 推送或者手动触发 workflow。本地交叉编译 NSIS 安装包比较折腾,不推荐。
打包流程见 .github/workflows/windows-release.yml。
项目结构
src/ 前端 React 代码
components/ UI 组件(sidebar / workspace / terminal / common)
stores/ Zustand 状态管理
lib/ Tauri invoke 封装
src-tauri/ Rust 后端
src/commands/ Tauri command 定义(ssh / sftp / ops / history)
src/core/ 核心模块(ssh_manager / crypto / db / error)
src/models/ 数据模型
docs/ 需求文档、技术方案、开发计划
下载
去 Releases 页面找对应平台的安装包。
License
MIT