A browser link to any terminal process.
shell claudeThe command keeps running on your machine. shell.online prints a URL, password, and QR code that open the same terminal in a desktop or mobile browser. Terminal traffic is end-to-end encrypted by default.
macOS, Linux, BSD, and Solaris:
curl -fsSL https://shell.online/install | shWindows PowerShell:
irm https://shell.online/install.ps1 | iexHomebrew:
brew install TeoSlayer/shell-online/shell-onlineInstallers verify checksums. Release binaries and SHA256SUMS are available on
the releases page.
shell <command> # share a command
shell # share a new shell
shell --read-only <command> # disable browser input
shell --foreground <command> # also show it locally
shell --auto-close 5m <command> # set an earlier deadline
shell --persistent <file> <command> # reuse a URL and password
shell list # list local sessions
shell attach <id> # attach locally
shell kill <id> # stop a sessionPress Ctrl-X, then D, to detach from an attached session. See
shell help reference for every command and option.
The CLI owns the PTY and encrypts terminal frames before sending them to the
relay. The browser decrypts them locally. The relay still sees connection
metadata, encrypted frame sizes, timing, labels, and session lifecycle events.
Use --no-e2ee only when transport encryption without payload E2EE is required.
Anyone with both the URL and password can open a share. Interactive shares can
type with the permissions of the wrapped process; use --read-only when viewers
should only watch. See the security model and
SECURITY.md.
Accounts are optional. shell login groups sessions from linked machines in
app.shell.online. The CLI works without one.
The published container keeps one encrypted shell, URL, and password across restarts:
docker compose up -d
docker compose logs shell-online- Quick start
- CLI reference
- Mobile behavior
- Reliability
- End-to-end encryption
- Containers
- Platforms
- Self-hosting
Requires Go 1.26.8, Node.js 22, and npm.
npm ci
npm run check
go test -race ./...
npm run test:appSee CONTRIBUTING.md before opening a pull request.
MIT licensed. See LICENSE.
Developed by Pilot Protocol.