sshx

ekzhangMIT活跃维护

基于 Web 的实时协作终端共享工具,用 Rust 编写,多人可同时接入同一个终端会话,适合远程结对调试和教学演示。

Fast, collaborative live terminal sharing over the web

v0.4.1发布于 2025-02-12 20:40 UTC7,714star +5 / 7 天318fork同步于 2026-11-10 11:32 UTC

怎么上手

由 README 提炼,执行前请确认
curl -sSf https://sshx.io/get | sh
硬件要求按 README 说明

README 未说明硬件要求,只说明支持 Linux、macOS、Windows 的 x86_64、ARM64 等架构,Linux 二进制为静态链接

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

一条命令把终端共享到浏览器,多人实时协作,端到端加密

基于 Web 的实时协作终端共享工具,用 Rust 编写,多人可同时接入同一个终端会话,适合远程结对调试和教学演示。

核心能力

  • 一条命令即可把终端共享给任何人
  • 无限画布上自由缩放平移和调整窗口
  • 实时看到其他人的光标移动
  • 通过全球分布式网格连接最近服务器
  • 用 Argon2 和 AES 做端到端加密

容易踩的坑

目前不支持自托管部署;在公开仓库的 CI 中使用时,任何用户都能查看运行中的日志;从源码构建需要 Rust 1.70+,开发环境还需 Node v18、NPM v9 和 mprocs

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.4.1
  1. v0.4.1最新正式版2025-02-12 · 2025-02-12 20:40 UTC

    This release fixes a really tricky bug. Ahh, software engineering will never get easier.

    What's Changed

    Full Changelog: https://github.com/ekzhang/sshx/compare/v0.4.0...v0.4.1

  2. v0.4.02025-02-11 · 2025-02-11 17:22 UTC
    查看更新说明

    This release adds support for Windows ARM64, modernizes Rust dependencies to fix the build (Hyper 1.0 et al), and bundles a previously third-party CDN link from the frontend.

    You can download Windows builds on the website. https://sshx.io

    What's Changed

    New Contributors

    Full Changelog: https://github.com/ekzhang/sshx/compare/v0.3.1...v0.4.0

  3. v0.3.12024-12-30 · 2024-12-30 02:57 UTC
    查看更新说明

    This release fixes the cross-compilation build on FreeBSD and fixes a minor display regression in #104.

    Full Changelog: https://github.com/ekzhang/sshx/compare/v0.3.0...v0.3.1

  4. v0.3.02024-12-30 · 2024-12-30 02:20 UTC
    查看更新说明

    This release adds read-only mode, which was a very requested feature (issue #72). If you run

    sshx --enable-readers
    

    Then you'll now get two links to sshx.io. The read-only link can be securelyed share with people who you want to view your session, but they will not be able to type or open/close any terminals. This is backwards-compatible, and sshx.io will continue to work with CLI clients on version 0.2.0.

    Thanks to @ChetanXpro for taking this on.

    What's Changed

    New Contributors

    Full Changelog: https://github.com/ekzhang/sshx/compare/v0.2.5...v0.3.0

  5. v0.2.52024-09-24 · 2024-09-24 01:00 UTC
    查看更新说明

    This release adds support for Windows (through @zhiburt's ConPTY library) and FreeBSD. Also see adjustments to the default zoom level, improving clarity on some displays.

    You can install binaries on the site, https://sshx.io

    What's Changed

    New Contributors

    Full Changelog: https://github.com/ekzhang/sshx/compare/v0.2.4...v0.2.5

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    sshx

    A secure web-based, collaborative terminal.

    Features:

    • Run a single command to share your terminal with anyone.
    • Resize, move windows, and freely zoom and pan on an infinite canvas.
    • See other people's cursors moving in real time.
    • Connect to the nearest server in a globally distributed mesh.
    • End-to-end encryption with Argon2 and AES.
    • Automatic reconnection and real-time latency estimates.
    • Predictive echo for faster local editing (à la Mosh).

    Visit sshx.io to learn more.

    Installation

    Just run this command to get the sshx binary for your platform.

    curl -sSf https://sshx.io/get | sh
    

    Supports Linux and MacOS on x86_64 and ARM64 architectures, as well as embedded ARMv6 and ARMv7-A systems. The Linux binaries are statically linked.

    For Windows, there are binaries for x86_64, x86, and ARM64, linked to MSVC for maximum compatibility.

    If you just want to try it out without installing, use:

    curl -sSf https://sshx.io/get | sh -s run
    

    Inspect the script for additional options.

    You can also install it with Homebrew on macOS.

    brew install sshx
    

    CI/CD

    You can run sshx in continuous integration workflows to help debug tricky issues, like in GitHub Actions.

    name: CI
    on: push
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
    
          # ... other steps ...
    
          - run: curl -sSf https://sshx.io/get | sh -s run
          #      ^
          #      └ This will open a remote terminal session and print the URL. It
          #        should take under a second.
    

    We don't have a prepackaged action because it's just a single command. It works anywhere: GitLab CI, CircleCI, Buildkite, CI on your Raspberry Pi, etc.

    Be careful adding this to a public GitHub repository, as any user can view the logs of a CI job while it is running.

    Development

    Here's how to work on the project, if you want to contribute.

    Building from source

    To build the latest version of the client from source, clone this repository and run, with Rust installed:

    cargo install --path crates/sshx
    

    This will compile the sshx binary and place it in your ~/.cargo/bin folder.

    Workflow

    First, start service containers for development.

    docker compose up -d
    

    Install Rust 1.70+, Node v18, NPM v9, and mprocs. Then, run

    npm install
    mprocs
    

    This will compile and start the server, an instance of the client, and the web frontend in parallel on your machine.

    Deployment

    I host the application servers on Fly.io and with Redis Cloud.

    Self-hosted deployments are not supported at the moment. If you want to deploy sshx, you'll need to properly implement HTTP/TCP reverse proxies, gRPC forwarding, TLS termination, private mesh networking, and graceful shutdown.

    Please do not run the development commands in a public setting, as this is insecure.