做了一个浏览器端的 SSH 客户端,不需要装任何插件或软件,打开网页就能连。
核心思路是把 Rust 的 SSH 协议实现( fork 的 russh )编译成 WASM ,跑在 Cloudflare 的 Durable Object 里。
DO 通过 cloudflare:sockets 直接建立 TCP 连接到目标 SSH 服务器,浏览器端只需要 WebSocket 。
几个特点:
目前的限制:
技术栈:Rust (WASM) + TypeScript (Hono) + Vite + Tailwind CSS ,部署在 Cloudflare Workers 上。 可以自己部署,只需要一个 Cloudflare 账号,免费额度就够用。
GitHub: https://github.com/ratazzi/edgessh
Demo: https://edgessh.hola.ac
1
hhacker 3 月 18 日 via Android
我记得 Durable object 不是持久化的
|
3
samli12 3 月 19 日
试了一下好像还行
|
4
mcfever 3 月 19 日
这个 web ssh 的方案挺有意思,我做一个原生版本的 https://dartshell.com/
|
5
codehz 3 月 19 日 via Android
cloudflared 开的那个不是自带 web ssh 吗()
|
6
ratazzi OP @codehz 对,本来一开始是想做一个纯浏览器的 ssh ,因为现有的 web ssh 都依赖一个服务端,需要 vps 来部署
然后 chrome 的 connect 限制有点多,就用 cf 来做 connect ,就不需要 vps 了,做着做着就去玩了 Durable Object |
8
lolo1 3 月 20 日 via Android
rdp 也可以搞下啊,也有 wasm 的
|