Files
opsxshell/README.md
T
Logan.Li 484d850abd feat: v0.3.0 版本 - SSH终端、SFTP、端口转发功能实现
核心功能:
- SSH终端: 密码/密钥认证、XTerm.js终端、多主题配色、IP高亮
- SFTP管理: 双栏文件管理、上传下载、传输队列
- 端口转发: 本地/远程转发、SOCKS5动态代理、规则管理

架构改进:
- 拆分大型组件 (SFTPView/TabBar/Sidebar)
- 添加统一日志和错误处理
- 修复React严格模式下的终端黑屏问题

UI更新:
- 新增端口转发视图
- 更新UI预览文档
- 左侧栏右键菜单支持SFTP快捷打开
2026-04-06 01:20:47 +08:00

4.1 KiB
Raw Blame History

OpsXShell GUI

跨平台 SSH/SFTP 终端工具 · 简洁高效 · 安全可靠

功能特性

  • 🔐 SSH 终端 - 支持密码、密钥、SSH Agent 多种认证方式
  • 📁 SFTP 文件管理 - 双栏可视化文件管理,拖拽上传下载
  • 🔄 端口转发 - 本地/远程/动态端口转发
  • 📑 多标签页 - 类浏览器标签管理,支持会话恢复
  • 🎨 现代 UI - 基于 Tailwind CSS 的深色主题界面
  • 🔒 安全可靠 - 敏感数据加密存储
  • 🌐 跨平台 - 支持 Windows、macOS、Linux

技术栈

层级 技术
框架 Electron 28+
前端 React 18 + TypeScript 5
构建 Vite 5
状态管理 Zustand
样式 Tailwind CSS
终端 XTerm.js
SSH/SFTP node-ssh2

快速开始

环境要求

  • Node.js 18+
  • npm 9+ 或 yarn 1.22+
  • Git

安装

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 构建应用
npm run build

# 打包分发
npm run dist

平台特定打包

# Windows
npm run dist:win

# macOS
npm run dist:mac

# Linux
npm run dist:linux

项目结构

opsxshell-gui/
├── electron/                 # Electron 主进程
│   ├── main.ts              # 主进程入口
│   ├── preload.ts           # 预加载脚本
│   └── tsconfig.json        # 主进程 TS 配置
├── src/                     # 渲染进程 (React)
│   ├── components/          # 组件
│   │   ├── Sidebar.tsx      # 侧边栏
│   │   ├── TabBar.tsx       # 标签栏
│   │   ├── TabContent.tsx   # 标签内容
│   │   ├── StatusBar.tsx    # 状态栏
│   │   ├── WelcomeView.tsx  # 欢迎页面
│   │   ├── TerminalView.tsx # 终端视图
│   │   ├── SFTPView.tsx     # SFTP 视图
│   │   ├── SettingsView.tsx # 设置视图
│   │   ├── SessionDialog.tsx      # 会话对话框
│   │   └── QuickConnectDialog.tsx # 快速连接对话框
│   ├── stores/              # 状态管理
│   │   ├── tabStore.ts      # 标签状态
│   │   └── connectionStore.ts # 连接状态
│   ├── App.tsx              # 根组件
│   ├── main.tsx             # 渲染入口
│   └── index.css            # 全局样式
├── package.json             # 项目配置
├── vite.config.ts           # Vite 配置
├── tailwind.config.js       # Tailwind 配置
└── tsconfig.json            # TypeScript 配置

界面预览

📱 在线预览: docs/ui-preview.html

在浏览器中打开 docs/ui-preview.html 文件可查看高清界面预览(支持切换终端/SFTP视图):

终端视图

  • 🎨 深色主题 - 基于 Tailwind CSS 的现代化深色界面
  • 📑 标签页管理 - 悬停显示更多操作(...)和关闭(×)按钮
  • 🖥️ 终端区域 - 清晰显示 SSH 连接状态和命令提示符
  • 📊 状态栏 - 实时显示连接状态、延迟和功能入口

SFTP 双栏视图

  • 📂 双栏文件管理器 - 左侧本地目录,右侧远程服务器目录
  • 🧭 面包屑导航 - 清晰的路径导航和返回/前进按钮
  • 📋 文件列表 - 显示名称、修改时间、大小、类型/权限
  • ⚡ 传输队列 - 实时显示上传/下载进度
  • 🔍 Filter/Actions - 筛选和操作下拉菜单

提示:双击 HTML 文件即可在浏览器中查看完整效果,支持终端和 SFTP 视图切换。

快捷键

快捷键 功能
Cmd/Ctrl + N 新建会话
Cmd/Ctrl + K 快速连接
Cmd/Ctrl + T 新建标签
Cmd/Ctrl + W 关闭标签
Cmd/Ctrl + Tab 切换标签
F11 全屏模式

开发计划

  • 基础项目框架
  • Electron 主进程
  • React 前端界面
  • 多标签页系统
  • 会话管理
  • SSH 连接集成 (node-ssh2)
  • 终端模拟器 (XTerm.js)
  • SFTP 文件传输
  • 端口转发
  • 数据持久化 (SQLite)

许可证

MIT License - 开源免费使用


Made with ❤️ by OpsXShell Team