newbietan/CloudSSH

Serverless Web SSH client built on Cloudflare Workers with a pure TypeScript SSH stack, multi-session terminals, SFTP file management, and an AI operations assistant. 基于 Cloudflare Workers 的无服务器 Web SSH 客户端,支持多会话终端、SFTP 文件管理与 AI 运维助手。

解決的問題

CloudSSH 提供了一種無需安裝本地 SSH 客戶端,即可透過瀏覽器連接並管理遠端伺服器的方法。它利用無伺服器基礎設施,無需專用後端伺服器,降低使用者從任何裝置進行遠端存取的成本與設定複雜度。

工作原理

本專案基於 Cloudflare Workers,利用 Cloudflare 的 TCP 套接字支援,在網路邊緣解析並轉發 SSH 協定。它使用純 TypeScript 實作完整的 SSH-2.0 協定堆疊,並透過 Web Crypto API 實現加密。

關鍵架構元件包括:

  • Durable Objects:用於管理獨立的終端會話與使用者資料。
  • WebSocket:實現瀏覽器與 Worker 之間的即時 I/O 通訊。
  • 邊緣網路:透過最近的 Cloudflare 數據中心路由流量,確保低延遲連線。

適用對象

  • 系統管理員:需要從任意瀏覽器輕量、安全地管理多台伺服器的人。
  • 開發者:希望為其遠端管理工具實現零成本、無伺服器部署的人。
  • 進階使用者:需要 SSH 跳板機(堡壘機)與透過 Web 界面進行 SFTP 檔案管理等進階功能的人。

主要亮點

  • 完整的 SSH-2.0 實作:自訂 TypeScript 協定堆疊,支援多種金鑰交換演算法與驗證方式(密碼、私鑰、鍵盤互動)。
  • SFTP 集成:使用 CodeMirror 實作的圖形化檔案管理器,支援瀏覽、上傳、下載與編輯遠端檔案。
  • SSH 跳板機支援:支援最多 3 層嵌套的 SSH 隧道,用於存取內部網路伺服器。
  • AI 助手:側邊欄 AI 助手(BYOK)可分析終端錯誤、管理 Docker 容器並執行系統命令。
  • 安全功能:實作 TOFU(首次使用時信任)主機金鑰驗證、AES-256-GCM 加密的憑證儲存,以及可選的 Cloudflare Turnstile CAPTCHA。
  • 無伺服器部署:透過 GitHub 一鍵部署至 Cloudflare Workers,無需伺服器維護成本。

相關

  • 專案
  • 專案
  • 專案
  • 專案