旧版代码 action 部署存在一定的问题,请同步 fork 到最新提交。
最近折腾了一个自己的项目 EdgeSSH,基于 Cloudflare Workers 做了一个偏“SSH 客户端”形态的 WebSSH。
GitHub:
https://github.com/aozorae/EdgeSSH
文档网站上线了
https://edgessh-docs.pages.dev/
项目基于 cmliu/CF-Workers-WebSSH 开发。上游解决了 Workers 上直接建立 SSH 连接的问题,我在此基础上继续做了主机管理、凭据存储、文件管理、系统信息等功能。

3D 地球上的图标对应 VPS 物理位置,点击即可连接
由于真正发起 SSH TCP 连接的是 Cloudflare Worker,而不是你的浏览器,可以在不同设备上使用,本地不需要安装 SSH 客户端,密钥可账户级同步
同时解决了大多数家庭宽带没有 IPv6,导致连接 IPv6 VPS 困难的问题。

(进程管理、文件管理这些功能挺强大的,还是要感谢 cmliu 大佬,Worker 连接 SSH 的核心功能是完全复用他的)
目前已经有的功能
主机列表与分组管理
浏览器 SSH Terminal
SFTP 文件管理
实时查看 CPU、内存、Load、进程等信息
自动识别 Linux 发行版和系统架构
主机地理位置展示
Canvas 实现的服务器分布地球
密码 / SSH 私钥认证
UTF-8 / GB18030 / Big5 终端编码
Cloudflare Zero Trust Access 身份认证
D1 保存主机信息
AES-256-GCM 加密 SSH 密码、私钥、地址等敏感数据
关于安全
因为这是 SSH 管理工具,所以这部分我比较谨慎。
目前:
不允许匿名使用主机管理 API
主机数据按 Cloudflare Access 身份隔离
SSH 密码和私钥不会明文保存在 D1
部署流程
目前依旧采用 GitHub Action 部署,和我的其他项目 EdgeChat 一样
仓库内置的 Deploy workflow 会在推送到 main 后自动检查、迁移 D1 并部署,也可在 Actions 页面手动触发。首次使用前,在仓库的 Settings > Secrets and variables > Actions 中配置:
| 名称 | GitHub 配置类型 | 用途 |
|---|---|---|
CLOUDFLARE_ACCOUNT_ID |
Variable | Cloudflare 账户 ID |
CLOUDFLARE_API_TOKEN |
Secret | 具备 Workers 部署和 D1 迁移权限的 API Token |

运行完此流程后,为了安全需要配置 Access 才能使用。在没有配置的状态下是无法使用的
详细说明查看此文档
https://github.com/aozorae/EdgeSSH/blob/main/docs/ZERO_TRUST.md
给点 star 呀,兄弟们
感谢站长酒神大佬的支持

正好我们高中生没时间签到,正好缺鸡腿来升级,到现在还是一级
后续更新一下手机界面,并且优化用户体验吧。目前可能还是偏繁琐一点
向各位用户道歉,但这 Action 部署的确存在一定的 bug,可能导致无法保存主机。我们很快在新版本中修复。
!?强强?!
不错不错
点赞。
webssh?这个真不错
支持支持
我还是选择使用Termius
感谢分享
必须bd
Cloudflare Zero Trust 现在怎么开通呢,要绑卡才行呢。
做大做强