# sshx — Collaborative Terminal Sharing via the Web > sshx is a secure web-based terminal sharing tool that lets multiple users view and type in the same shell session with real-time multiplayer cursors. ## Install Save as a script file and run: # sshx — Collaborative Terminal Sharing via the Web ## Quick Use ```bash curl -sSf https://sshx.io/get | sh sshx # Share the printed URL with collaborators ``` ## Introduction sshx provides instant collaborative terminal sessions accessible through a web browser. A single command generates a shareable link that lets remote participants see and interact with the same terminal, each with their own labeled cursor. It is built for pair programming, live debugging, and teaching scenarios. ## What sshx Does - Creates a shared terminal session accessible via a unique URL - Shows each participant's cursor with a name label in real-time - Supports multiple terminal panes in an infinite canvas layout - Encrypts traffic end-to-end so the relay server cannot read session content - Requires no account or installation for viewers — just a browser ## Architecture Overview sshx is written in Rust. The client binary spawns a local pseudo-terminal and establishes an encrypted WebSocket connection to a relay server. The relay forwards messages between participants without decrypting them. The browser frontend is a lightweight TypeScript application using xterm.js for terminal rendering and a custom canvas for cursor display. ## Self-Hosting & Configuration - Install the client with the one-line curl installer or build from source with Cargo - Self-host the relay server using the provided Docker image for private deployments - Set the `SSHX_SERVER` environment variable to point the client at your own relay - Use `sshx --shell ` to choose a specific shell (bash, zsh, fish) - Session links expire automatically after disconnect; no persistent data is stored ## Key Features - End-to-end encryption ensures the relay server never sees plaintext terminal data - Infinite canvas lets participants open multiple terminal panes side by side - Real-time multiplayer cursors with names for easy collaboration - Cross-platform client for Linux, macOS, and Windows - No sign-up or browser extension required for viewers ## Comparison with Similar Tools - **ttyd** — serves a terminal to the browser but does not support multiplayer cursors or end-to-end encryption - **tmate** — terminal sharing over SSH; sshx uses the browser and adds visual multiplayer features - **VS Code Live Share** — full IDE sharing; sshx is terminal-only and much lighter - **tmux shared sessions** — requires SSH access for all participants; sshx works via a browser link ## FAQ **Q: Is the public relay server safe to use?** A: Sessions are end-to-end encrypted. The relay cannot read terminal content. For extra control, self-host the relay. **Q: Can I restrict who joins my session?** A: The URL acts as the access token. Only share it with intended participants. Self-hosted relays can add network-level restrictions. **Q: Does sshx support copy-paste?** A: Yes. Standard browser clipboard shortcuts work inside the terminal pane. **Q: What happens if the host disconnects?** A: The session ends and the link becomes invalid. No data persists on the relay. ## Sources - https://github.com/ekzhang/sshx - https://sshx.io --- Source: https://tokrepo.com/en/workflows/asset-25fc1fb0 Author: Script Depot