ekzhang/sshx

Rustsshx.io

Fast, collaborative live terminal sharing over the web

terminalcollaborativerustwebsshsharetty
Star 增长趋势
Star
7.7k
Forks
300
周增长
+1
Issues
23
5k6k7k
2023年11月2024年10月2025年9月2026年9月
制品库crates.io
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.

相关仓库
ohmyzsh/ohmyzsh

🙃 A delightful community-driven (with 2,500+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool that makes it easy to keep up with the latest updates from the community.

ShellcliMIT Licenseshellzsh-configuration
ohmyz.sh
189.6k26.6k
microsoft/terminal

The new Windows Terminal and the original Windows console host, all in the same place!

C++cliMIT Licenseconsoleterminal
104.8k9.6k
jesseduffield/lazygit

simple terminal UI for git commands

GoGo ModulescliMIT Licensecligit
82.1k3k
Eugeny/tabby

A terminal for a more modern age

TypeScriptnpmcliMIT Licenseterminal-emulatorsterminal
tabby.sh
74.4k4.2k
alacritty/alacritty

A cross-platform, OpenGL terminal emulator.

Rustcrates.iocliApache License 2.0terminal-emulatorsopengl
alacritty.org
65.7k3.6k
warpdotdev/warp

Warp is an agentic development environment, born out of the terminal.

Rustcrates.iocliGNU Affero General Public License v3.0rustlinux
warp.dev
64.9k5.5k
warpdotdev/Warp

Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.

cliOtherrustlinux
warp.dev
64.7k5.5k
stablyai/orca

Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

TypeScriptnpmcliMIT Licenseclaude-codecodex
onorca.dev
64.4k4.3k
tldr-pages/tldr

Collaborative cheatsheets for console commands 📚.

MarkdowntutorialOthershellman-page
tldr.sh
63.6k5.4k
termux/termux-app

Termux - a terminal emulator application for Android OS extendible by variety of packages.

JavaMavencliOtherandroidterminal
f-droid.org/en/packages/com.termux
60.5k7.5k
sharkdp/bat

A cat(1) clone with wings.

Rustcrates.iocliApache License 2.0command-linetool
60.4k1.6k
Textualize/rich

Rich is a Python library for rich text and beautiful formatting in the terminal.

PythonPyPIcliMIT Licensepythonpython3
rich.readthedocs.io/en/latest/
57.3k2.3k