# EasySSH **Repository Path**: cheergoh/easy-ssh ## Basic Information - **Project Name**: EasySSH - **Description**: 简易免费的功能强大的ssh客户端 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-01 - **Last Updated**: 2026-03-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SSH客户端工具 一个基于Electron的跨平台SSH客户端工具,提供SSH连接管理、终端模拟、文件传输和会话管理功能。 ## 技术栈 - **应用框架**: Electron 27.x - **前端框架**: React 18.x + TypeScript 5.x - **SSH协议**: ssh2 1.15.x - **终端模拟**: xterm.js 5.3.x - **状态管理**: Zustand 4.x - **UI组件**: Ant Design 5.x - **构建工具**: Vite 4.x - **测试框架**: Jest 29.x + fast-check 3.x ## 项目结构 ``` ssh-client-tool/ ├── src/ │ ├── main/ # 主进程代码 │ │ ├── main.ts # 主进程入口 │ │ ├── preload.ts # 预加载脚本 │ │ ├── ipc/ # IPC处理器 │ │ └── services/ # 核心服务 │ │ ├── connection-manager.ts │ │ ├── session-manager.ts │ │ └── credential-store.ts │ ├── renderer/ # 渲染进程代码 │ │ ├── main.tsx # 渲染进程入口 │ │ ├── App.tsx # 根组件 │ │ ├── components/ # React组件 │ │ └── store/ # Zustand状态管理 │ ├── shared/ # 共享代码 │ │ ├── types/ # TypeScript类型定义 │ │ └── ipc-channels.ts # IPC通道定义 │ └── test/ # 测试配置 ├── dist/ # 构建输出 ├── package.json ├── tsconfig.json # 渲染进程TS配置 ├── tsconfig.main.json # 主进程TS配置 ├── vite.config.ts # Vite配置 ├── jest.config.js # Jest配置 └── .eslintrc.json # ESLint配置 ``` ## 开发指南 ### 安装依赖 ```bash npm install ``` ### 开发模式 启动开发服务器(同时运行渲染进程和主进程): ```bash npm run dev ``` ### 构建 构建生产版本: ```bash npm run build ``` ### 测试 运行测试: ```bash npm test ``` 运行测试(监听模式): ```bash npm run test:watch ``` ### 代码检查 运行ESLint: ```bash npm run lint ``` 运行TypeScript类型检查: ```bash npm run type-check ``` ## 核心功能 ### 已实现 - ✅ 项目基础架构 - ✅ Electron主进程和渲染进程分离 - ✅ IPC通信基础设施 - ✅ TypeScript配置 - ✅ 测试框架配置 ### 待实现 - ⏳ SSH连接管理 - ⏳ 终端模拟器集成 - ⏳ SFTP文件传输 - ⏳ 密钥认证 - ⏳ 会话管理 - ⏳ 端口转发 - ⏳ 命令片段管理 - ⏳ 会话录制 - ⏳ 跳板机支持 - ⏳ 凭证安全存储 ## 架构设计 ### 主进程职责 - SSH连接建立和管理 - 凭证加密存储和访问 - 文件系统操作 - 系统级资源访问 ### 渲染进程职责 - UI渲染和用户交互 - 终端显示和输入处理 - 状态管理和数据展示 - 主题和外观定制 ### IPC通信 - 请求-响应模式:同步操作(连接配置CRUD) - 事件流模式:异步数据流(终端输出、文件传输进度) - 双向通道:实时交互(终端输入输出) ## 安全性 - AES-256-GCM加密存储敏感信息 - PBKDF2密钥派生(100000次迭代) - 支持操作系统密钥链集成 - 主密码保护 - 内存中敏感数据使用后清除 ## 许可证 MIT