CloudSSH 开源项目:借助 Cloudflare Workers 打造免费 Web SSH 终端,用浏览器丝滑远程服务器,连接信息云端同步,一键部署还不花一分钱

发布时间:2026/7/5 15:00:54

CloudSSH 开源项目:借助 Cloudflare Workers 打造免费 Web SSH 终端,用浏览器丝滑远程服务器,连接信息云端同步,一键部署还不花一分钱 一个基于 Cloudflare Workers 的开源 Web SSH 终端——打开浏览器连上服务器开干。起因不知道你有没有过这种经历出差在外手机收到服务器告警手边没有电脑或者电脑上没装 SSH 客户端。你急得四处借电脑、装工具、配密钥……等连上去的时候黄花菜都凉了。又或者你只是想快速看一眼服务器状态却要经历打开终端 → 输入命令 → 等连接 → 操作完关掉。流程不长但每天都要来一遍就很烦。所以我做了CloudSSH——一个运行在 Cloudflare Workers 上的 Web SSH 终端。不装软件不买服务器打开浏览器就能连。它到底是什么一句话把 SSH 客户端搬进了浏览器。你的服务器凭据存在浏览器本地AES-256-GCM 加密SSH 连接通过 Cloudflare 的全球边缘网络中转。整个过程不需要你部署任何后端服务器——Cloudflare Workers 就是你的后端。浏览器 ←→ Cloudflare Edge ←→ 你的服务器 (WebSocket) (TCP Socket)架构简单得令人发指但该有的一个不少。凭什么值得用成本零纯 Serverless 架构。Cloudflare Workers 的免费计划对个人使用完全够用。没有 EC2没有 VPS没有月费账单。部署一分钟gitclone https://github.com/newbietan/CloudSSH.gitcdCloudSSHpnpminstallcdfrontendpnpminstallnpx wrangler loginpnpmrun deploy几条命令完事。Wrangler 会给你一个 URL点开就能用。当然如果你连命令行都懒得碰也可以直接在 Cloudflare Dashboard 里绑定 GitHub 仓库连代码都不用 clone一键部署。安全不是闹着玩的很多人对 “Web SSH” 的第一反应是这安全吗放心不是拿你密码裸奔的玩具完整的 SSH-2.0 协议纯 TypeScript 自研协议栈不依赖任何第三方 SSH 库。支持 Curve25519-SHA256优先和 ECDH-NISTP256 密钥交换AES-256-GCM / AES-128-GCM / AES-256-CTR 数据加密Ed25519 / ECDSA P-256 / RSA 主机密钥验证一个不落防中间人攻击首次连接会展示服务器 Host Key 的 SHA-256 指纹TOFU 模式让你确认是不是你认识的那台机器SSRF 防护内置 IPv6 和保留地址过滤防止被拿去扫内网速率限制API 请求频率限制暴力破解不存在的人机验证支持 Cloudflare Turnstile 验证防止恶意机器人滥用凭据零暴露One-Time-Token 机制确保密码/私钥不经过前端完全在 Worker 内部安全流转颜值赛博朋克风说实话很多 Web 终端工具长得像 2005 年的产物。CloudSSH 不一样——默认就是赛博朋克主题还内置了 Glacier、Gruvbox 等经典配色。全站颜色基于 CSS 变量系统支持导入自定义 JSON 主题文件。登录用户的主题配置会自动云端同步跨浏览器生效。不想手写 JSON项目还配套了一个可视化在线主题编辑器拖拖滑块就能调出你想要的配色。终端基于 xterm.js WebGL 硬件加速渲染就算cat一个几万行的日志文件也不会卡。支持移动端适配。文件传输两种方式随便挑方式一命令行传输trzsz集成 trzsz.js在终端里直接用trz上传和tsz下载命令浏览器会自动弹出文件选择框或开始下载。支持拖拽文件到终端窗口直接上传、目录传输及断点续传。兼容 tmux 会话。需远程服务器安装 trzsz方式二图形化 SFTP 文件管理器内置完整的 SFTP v3 文件传输协议提供图形化文件浏览器界面。支持目录浏览、文件上传/下载、新建文件夹、文件重命名与删除等操作。基于 SSH 子系统实现与终端会话并行运行互不干扰。GitHub 登录云端保存你的服务器支持 GitHub OAuth 登录。登录后你可以在个人空间中保存常用的 SSH 服务器配置凭据使用 AES-256-GCM 加密存储实现一键连接。不配置此功能也不影响匿名 SSH 连接的正常使用。技术上怎么实现的核心思路是利用 Cloudflare Workers 的TCP Sockets能力cloudflare/sockets在边缘节点直接和目标服务器建立 TCP 连接然后用纯 TypeScript 实现 SSH 协议的握手、认证和数据传输。每个终端会话由一个Durable Object管理借助 Hibernation API 保持会话持久化——即使你暂时切走再回来连接还在。前端是纯 TypeScript Vite 技术栈无框架依赖终端渲染交给 xterm.jsSFTP 文件管理器和主题系统都是原生 TypeScript 实现。整个项目结构很清晰src/ssh/ → SSH 协议纯实现层传输层、加密、认证、通道、SFTP src/worker/ → Cloudflare Worker 入口和 Durable Objects frontend/src/ → 前端 UI终端 SFTP 面板 主题系统架构总览浏览器客户端 (TypeScript xterm.js) │ ├─ 终端 ←→ [WebSocket] ←→ Cloudflare Worker ←→ [TCP Socket] ←→ SSH 服务器 │ └─ SFTP 文件管理器 ←→ [WebSocket] ←→ Cloudflare Worker ←→ [SSH Subsystem] ←→ SFTP 服务器 Durable Object (SSHSessionDO) → 管理会话生命周期、SSRF 防护 Durable Object (UserDBDO) → 用户数据、服务器配置、速率限制SQLite完整支持 IPv4/IPv6 双栈包括 IPv6 方括号格式自动处理。谁适合用个人开发者管理自己的几台 VPS不想每次都开终端运维同学应急场景下快速接入服务器团队协作部署一套团队共享注意做好权限隔离想折腾的人Cloudflare Workers 纯 TypeScript SSH 协议实现本身就是一个很好的学习项目最后CloudSSH 不是要替代专业 SSH 客户端而是提供一个随时随地、零门槛的备选方案。如果你觉得有用去 GitHub 给个 Star 吧这对开源作者来说是最大的鼓励https://github.com/newbietan/CloudSSH有问题提 Issue想改提 PR欢迎一切形式的参与。一切以仓库文档为主在线体验版本https://ssh.newbietan.cn/在线测试版本最新功能优先推送https://sshtest.newbietan.cn/在线主题编辑器在线自定义主题配色https://newbietan.github.io/CloudSSH/theme-editor/打开浏览器连上服务器。就这么简单。

相关新闻