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

curl -sSf https://sshx.io/get | shREADME 未说明硬件要求,只说明支持 Linux、macOS、Windows 的 x86_64、ARM64 等架构,Linux 二进制为静态链接
一条命令把终端共享到浏览器,多人实时协作,端到端加密
基于 Web 的实时协作终端共享工具,用 Rust 编写,多人可同时接入同一个终端会话,适合远程结对调试和教学演示。
核心能力
- 一条命令即可把终端共享给任何人
- 无限画布上自由缩放平移和调整窗口
- 实时看到其他人的光标移动
- 通过全球分布式网格连接最近服务器
- 用 Argon2 和 AES 做端到端加密
容易踩的坑
- 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
- Fix RFC 8441 (WebSocket over HTTP/2) issue by @ekzhang in https://github.com/ekzhang/sshx/pull/123
Full Changelog: https://github.com/ekzhang/sshx/compare/v0.4.0...v0.4.1
- 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
- Fix flash of "read-only" badge on initial page load by @ekzhang in https://github.com/ekzhang/sshx/pull/106
- Match casing of FROM and AS by @ekzhang in https://github.com/ekzhang/sshx/pull/108
- Document homebrew installation by @canac in https://github.com/ekzhang/sshx/pull/110
- Remove argon2 dependency on esm.sh by @ekzhang in https://github.com/ekzhang/sshx/pull/113
- In quiet mode, print writable link if available by @ivoire in https://github.com/ekzhang/sshx/pull/115
- Fix build by upgrading dependencies (incl hyper 1.0) by @ekzhang in https://github.com/ekzhang/sshx/pull/118
- Add support for arm64 windows builds by @ekzhang in https://github.com/ekzhang/sshx/pull/120
New Contributors
- @canac made their first contribution in https://github.com/ekzhang/sshx/pull/110
- @ivoire made their first contribution in https://github.com/ekzhang/sshx/pull/115
Full Changelog: https://github.com/ekzhang/sshx/compare/v0.3.1...v0.4.0
- 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
- 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-readersThen 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
- feat: Add read-only mode for terminal sessions by @ChetanXpro in https://github.com/ekzhang/sshx/pull/104
New Contributors
- @ChetanXpro made their first contribution in https://github.com/ekzhang/sshx/pull/104
Full Changelog: https://github.com/ekzhang/sshx/compare/v0.2.5...v0.3.0
- 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
- Change the default zoom from 0.9 to 1.0 by @ekzhang in https://github.com/ekzhang/sshx/pull/97
- Update Rust dependencies by @ekzhang in https://github.com/ekzhang/sshx/pull/98
- feat: add FreeBSD enhancement by @aokblast in https://github.com/ekzhang/sshx/pull/67
- Windows support for sshx by @ekzhang in https://github.com/ekzhang/sshx/pull/99
New Contributors
- @aokblast made their first contribution in https://github.com/ekzhang/sshx/pull/67
Full Changelog: https://github.com/ekzhang/sshx/compare/v0.2.4...v0.2.5
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
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.