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