编程 只需浏览器!FastAPI+Vue3打造开源高性能Web SSH终端LingTerm

2026-04-21 10:51:33 +0800 CST views 8

只需浏览器!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,添加主机信息,即可开始体验。

安全小贴士

生产环境部署时请注意:

  1. 启用 HTTPS/WSS:防止密码在传输过程中被窃听
  2. 限制访问 IP:通过 Nginx 或防火墙限制只有可信 IP 才能访问
  3. 优先使用密钥认证:相比密码,SSH 密钥更安全(密钥认证功能正在开发中)

未来规划

  • 支持 SSH 密钥认证
  • 添加操作日志记录
  • 支持端口转发
  • 集成 AI 助手,智能辅助命令输入

推荐文章

Python中何时应该使用异常处理
2024-11-19 01:16:28 +0800 CST
robots.txt 的写法及用法
2024-11-19 01:44:21 +0800 CST
Redis和Memcached有什么区别?
2024-11-18 17:57:13 +0800 CST
PHP 代码功能与使用说明
2024-11-18 23:08:44 +0800 CST
18个实用的 JavaScript 函数
2024-11-17 18:10:35 +0800 CST
liunx宝塔php7.3安装mongodb扩展
2024-11-17 11:56:14 +0800 CST
动态渐变背景
2024-11-19 01:49:50 +0800 CST
Rust 中的所有权机制
2024-11-18 20:54:50 +0800 CST
Vue中的`key`属性有什么作用?
2024-11-17 11:49:45 +0800 CST
15 个 JavaScript 性能优化技巧
2024-11-19 07:52:10 +0800 CST
filecmp,一个Python中非常有用的库
2024-11-19 03:23:11 +0800 CST
CSS 中的 `scrollbar-width` 属性
2024-11-19 01:32:55 +0800 CST
使用 Vue3 和 Axios 实现 CRUD 操作
2024-11-19 01:57:50 +0800 CST
JavaScript数组 splice
2024-11-18 20:46:19 +0800 CST
在Vue3中实现代码分割和懒加载
2024-11-17 06:18:00 +0800 CST
Vue3如何执行响应式数据绑定?
2024-11-18 12:31:22 +0800 CST
程序员茄子在线接单