GoForum🌐 V2EX

又写了个好玩的,利用 Cloudflare Durable Object 实现云端的 SSH 会话,浏览器里直接连接

ratazzi · 2026-03-18 23:37 · 0 次点赞 · 3 条回复

做了一个浏览器端的 SSH 客户端,不需要装任何插件或软件,打开网页就能连。

核心思路是把 Rust 的 SSH 协议实现( fork 的 russh )编译成 WASM ,跑在 Cloudflare 的 Durable Object 里。

DO 通过 cloudflare:sockets 直接建立 TCP 连接到目标 SSH 服务器,浏览器端只需要 WebSocket 。

几个特点:

  • 支持密码和私钥认证( ed25519 、RSA 、ECDSA ),支持加密私钥
  • SSH 会话跑在 Durable Object 里,关掉浏览器再打开可以重新接入,终端输出不丢
  • 登录用 Passkey ( WebAuthn ),也有 Demo 模式可以直接体验
  • 前端 xterm.js + WebGL 渲染

目前的限制:

  • 还不支持通过 cloudflared 连接内网 ip

技术栈:Rust (WASM) + TypeScript (Hono) + Vite + Tailwind CSS ,部署在 Cloudflare Workers 上。 可以自己部署,只需要一个 Cloudflare 账号,免费额度就够用。

GitHub: https://github.com/ratazzi/edgessh

Demo: https://edgessh.hola.ac

3 条回复
hhacker · 2026-03-18 23:47
#1

我记得 Durable object 不是持久化的

ratazzi · 2026-03-18 23:57
#2

@hhacker 可以持续化一段时间

samli12 · 2026-03-19 01:52
#3

试了一下好像还行

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: ratazzi
发布: 2026-03-18
点赞: 0
回复: 0