logo NodeSeekbeta

把 WebSSH 做成服务器工作台:EdgeSSH 新增端口转发、文件管理、命令片段,全部跑在 CF Workers

前几天发过一次自己的项目 EdgeSSH。

总算是熬到放假了,重返人间,最近又连续折腾了几天,功能加得有点多,感觉它已经逐渐从一个单纯的 WebSSH,变成了一个偏“服务器管理工作台”的东西,所以再来更新一下。
image
GitHub:

https://github.com/aozorae/EdgeSSH

文档:

https://edgessh-docs.pages.dev/

EdgeSSH 是一个部署在 Cloudflare Workers 上的 WebSSH / 服务器管理工具。

不需要自己再部署一个 WebSSH 中转服务器。浏览器连接 Cloudflare Worker,由 Worker 通过 Cloudflare TCP Sockets 直接建立 SSH 连接。

目前主要包括 SSH 终端、主机管理、SFTP 文件管理、服务器状态、进程查看、3D 地球主机展示等功能。

这两天又补了几个我自己比较想要的东西。

1. 端口转发:直接打开服务器本机的网站

这算是一次较大的更新,很多用户在使用一些 WebSSH 等应用时,为了安全起见,只允许本机访问。

可以将Web 服务通过 Cloudflare Workers 转发
image

默认的 trusted 模式直接通过 EdgeSSH 主站路径转发,配置简单,适合自己服务器上可信的 Web 服务。

如果要访问不完全可信的网站,也可以额外部署一个独立 Preview Worker,使用 isolated 模式,把代理页面和 EdgeSSH 管理后台的登录态隔开。

部署流程已经大幅简化了,相信各位跟着文档一步步操作一定可以成功的

2. 增加代码片段,优化 SSH 终端体验

为了方便、快速输入常用命令,新增代码片段功能。用户可以在单独页面中配置常用命令,在 SSH 终端中可以一键填充到命令编辑器内
image

本身终端也做了优化,新增命令编辑器以及一些常用快捷键,便于编辑命令。

一些组合键、常用操作可以直接点,不需要在手机或者某些奇怪键盘环境下硬按。

比较长的命令也可以先在编辑器里面编辑好,再一次性发送到终端。

以后应该还会继续完善这一块。

3. 部署和认证也继续简化

之前项目主要依赖 Cloudflare Access。

但是我后来发现对于一个开源项目来说,让用户为了一个 WebSSH 去开通和配置 Zero Trust,门槛还是有点高。

所以现在支持两种认证方式二选一:

Cloudflare Access

GitHub OAuth

项目本身仍然按照单管理员工作区设计,不准备往多用户 SaaS 那个方向做。

不过这里提个醒,采用 Cloudflare Access 这种方式仍然更安全,因为它可以直接将未经授权的流量挡在 Worker 之外,而不是依赖 Worker 进行认证

独立的文件管理器

之前 SFTP 文件功能主要附在 SSH 工作台里面。

现在把它单独做成了一个「文件管理」页面。

可以直接:

选择已经保存的服务器

浏览目录

上传 / 下载文件

新建文件夹

重命名和删除

输入路径快速跳转

从文件管理直接切回 SSH 终端

文件列表也重新做了一版,现在使用虚拟化列表,服务器目录里文件比较多的时候体验会好一些。

image

更新的东西太多了,各位去看看吧,如果用得合适,记得给个 star

管理员可不可以再给个推荐阅读捏?怕以前 fork 过有 bug 代码的佬看不到

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有71778位seeker

🎉欢迎新用户🎉