explaingit

ekzhang/sshx

7,466RustAudience · developerComplexity · 2/5Setup · easy

TLDR

A tool that shares your terminal with anyone through a browser, run one command to get a URL, and others can watch or type in your terminal collaboratively in real time.

Mindmap

mindmap
  root((sshx))
    What it does
      Share terminal via URL
      Real-time collaboration
      Browser-based access
    Features
      Infinite canvas
      End-to-end encrypted
      Auto-reconnect
    Use cases
      Pair programming
      CI debugging
      Remote support
    Audience
      Developers
      DevOps teams
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Share your terminal with a colleague for pair programming without setting up a remote desktop.

USE CASE 2

Drop sshx into a failing CI/CD step to get a live terminal URL and inspect the environment interactively.

USE CASE 3

Debug a remote issue by sharing a terminal where a helper can type commands alongside you.

USE CASE 4

Show live terminal output on a zoomable infinite canvas that multiple viewers can share at the same time.

Tech stack

RustWebSocketFly.io

Getting it running

Difficulty · easy Time to first run · 5min

Server is hosted by the project author on Fly.io, self-hosted deployments are not currently supported.

In plain English

sshx is a tool that lets you share your terminal with other people through a web browser. You run one command on your computer, and it gives you a URL. Anyone with that URL can open it in a browser and see your terminal live, or type in it collaboratively. It is designed for pair programming, remote debugging, or showing someone else what is happening on your machine without setting up a full remote desktop. The interface puts terminal windows on an infinite canvas that you can zoom and pan freely. Multiple people can view or interact at the same time, and you can see other users' cursors moving in real time. The connection is end-to-end encrypted, and the tool reconnects automatically if the network drops. It also includes a feature that predicts your keystrokes locally before the server confirms them, making typing feel faster on slower connections. Installing sshx is a single curl command that downloads a binary for your platform. It supports Linux, macOS, and Windows on both standard x86_64 and ARM architectures. There is also a Homebrew option for macOS. One described use case is dropping it into a CI/CD workflow to get a live terminal when a build is failing and you need to inspect the environment interactively. The server infrastructure is hosted by the project author on Fly.io. Self-hosted deployments are not supported at this time according to the README. The project is written in Rust and is open source, with instructions for building from source if you want to contribute.

Copy-paste prompts

Prompt 1
Set up sshx in a GitHub Actions workflow step so I get a shareable terminal URL when a specific build step fails.
Prompt 2
Using sshx, how do I share my terminal for a pair programming session and control who can type versus who can only view?
Prompt 3
Help me add sshx to my team's incident response runbook so anyone can share a terminal with the on-call engineer in seconds.
Prompt 4
Explain how sshx's local keystroke prediction works and why it makes typing feel faster on a slow or high-latency connection.
Prompt 5
Show me how to install sshx on an ARM Linux server and start a shareable terminal session with end-to-end encryption.
Open on GitHub → Explain another repo

← ekzhang on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.