只需浏览器!FastAPI + Vue3 打造开源高性能 Web SSH 终端 LingTerm
告别设备切换烦恼,打开浏览器就能连服务器,支持 SFTP、可视化文件管理、多标签、高颜值主题
痛点
作为开发者或运维工程师,你是否经历过:
- 临时需要登录服务器排查问题,但手边电脑没装 SSH 客户端?
- 在不同设备间切换,每次都要重新配置主机信息,繁琐又低效?
- 传统终端界面黑白单调,缺乏现代感,不支持文件拖拽传输?
今天介绍的这款开源神器 LingTerm,绝对能刷新你对 Web SSH 的认知。
什么是 LingTerm
LingTerm 是一个基于 Web 的现代化 SSH 终端应用。打破了传统本地客户端的限制,无需安装任何软件,只需打开浏览器,就能获得媲美本地客户端的流畅体验。
结合了 FastAPI 的高性能后端和 Vue 3 的现代化前端,速度快、界面美观、功能强大。
所有敏感信息(密码等)都保存在本地,安全性有保障。
核心功能
🌐 随时随地,即开即用
无需下载安装包,无需配置环境变量。只要有浏览器和网络,就能连接远程服务器。无论在公司、家中,还是平板、手机应急处理,都能完美适配。
⚡ 极致性能,流畅不卡顿
- 后端:Python FastAPI 框架 + WebSocket 全双工实时通信
- 前端:集成 xterm.js 引擎,支持自适应大小和链接识别,操作响应毫秒级
📁 SFTP 文件传输,可视化操作
不再需要单独开启 FTP 软件或使用复杂的 scp 命令。LingTerm 内置了完整的 SFTP 文件管理器:
- ✅ 支持文件上传、下载
- ✅ 支持文件删除
- ✅ 直观的目录树结构,像操作本地文件夹一样简单
🎨 高颜值 UI,支持主题定制
拒绝枯燥的黑底白字!多种现代化终端主题配色可选,渐变色 UI 设计。
🏷️ 高效会话管理
- 多标签页:同时管理多台服务器,快速切换,互不干扰
- 主机管理:保存常用主机配置,一键快速连接,告别重复输入 IP 和密码
技术栈
| 模块 | 技术选型 | 亮点 |
|---|---|---|
| 后端 | FastAPI + Paramiko + Uvicorn | 高性能异步框架,类型安全 |
| 前端 | Vue 3 + Vite + xterm.js | 组合式 API,极速构建 |
| 通信 | WebSocket | 实时双向数据传输,低延迟 |
| 包管理 | uv (Python) + pnpm (Node) | 追求极致的安装速度 |
快速上手
# 第一步:克隆项目
git clone git@gitee.com:xxxx/LingTerm.git
cd LingTerm
# 第二步:启动后端(推荐 uv)
cd backend
uv sync
uv run python main.py
# 后端将在 http://localhost:8000 启动
# 第三步:启动前端
cd frontend
pnpm install
npm run dev
# 前端将在 http://localhost:3000 启动
打开浏览器访问 http://localhost:3000,添加主机信息,即可开始体验。
安全小贴士
生产环境部署时请注意:
- 启用 HTTPS/WSS:防止密码在传输过程中被窃听
- 限制访问 IP:通过 Nginx 或防火墙限制只有可信 IP 才能访问
- 优先使用密钥认证:相比密码,SSH 密钥更安全(密钥认证功能正在开发中)
未来规划
- 支持 SSH 密钥认证
- 添加操作日志记录
- 支持端口转发
- 集成 AI 助手,智能辅助命令输入