# rshell **Repository Path**: jack_zang/rshell ## Basic Information - **Project Name**: rshell - **Description**: 使用 rust 语言写的 shell 终端 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-19 - **Last Updated**: 2026-05-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RShell - 高性能终端管理工具 RShell 是一款使用 Rust 语言开发的高性能终端管理工具,对标 XShell 的核心功能。提供多标签页会话管理、SSH 双认证登录、完整 VT100 终端渲染、SFTP 文件传输、会话持久化、主题切换等功能。 ## 特性 - **多标签页管理**:支持最多 32 个并发标签页,快捷键快速切换 - **SSH 双认证**:支持密码和 SSH 私钥(RSA、Ed25519、ECDSA)两种认证方式 - **完整终端渲染**:支持 VT100 转义序列、256 色、TrueColor、CJK 字符 - **SFTP 文件传输**:远程目录浏览、文件上传下载、进度显示 - **会话持久化**:本地加密存储会话配置,启动即可快速连接 - **主题切换**:深色/浅色主题一键切换 - **高性能**:异步 I/O 架构,50 并发连接不卡顿,冷启动 < 500ms ## 构建 ### 环境要求 - Rust 1.75+ (推荐使用 rustup 安装) - 支持平台:Windows、Linux、macOS ### 编译步骤 ```bash # 克隆项目 git clone https://gitee.com/your-org/rshell.git cd rshell # Debug 编译 cargo build --workspace # Release 编译 cargo build --release # 运行 cargo run --bin rshell-app ``` ### 运行测试 ```bash # 运行所有测试 cargo test --workspace # 运行属性测试 cargo test --workspace -- --include-ignored ``` ## 项目结构 ``` rshell/ ├── Cargo.toml # workspace 根配置 ├── crates/ │ ├── rshell-core/ # 核心逻辑:终端缓冲区、会话存储、密码加密 │ ├── rshell-net/ # 网络层:SSH 连接、SFTP 传输、连接池 │ ├── rshell-ui/ # UI 层:标签页管理、终端渲染、主题引擎 │ └── rshell-app/ # 可执行文件入口 └── tests/ # 集成测试 ``` ## 使用说明 ### 快捷键 | 快捷键 | 功能 | |--------|------| | Ctrl+T | 新建标签页 | | Ctrl+Tab | 切换到下一个标签页 | | Ctrl+Shift+Tab | 切换到上一个标签页 | | Ctrl+1~9 | 切换到对应序号标签页 | ### 会话管理 启动后可通过连接对话框输入主机地址、端口、用户名和认证方式建立 SSH 连接。已保存的会话配置会在启动时自动加载。 ### 文件传输 在已连接的标签页中可打开 SFTP 视图,浏览远程目录并进行文件上传/下载操作。 ## 许可证 本项目采用 MIT 许可证,详见 [LICENSE](LICENSE) 文件。