Share your terminal session over the internet via SSH or web browser
$ stunl term
● STUNL TERM
╭── ◎ ── TERMINAL
│ Web https://t-abc123.stunl.io
│ SSH ssh t-abc123.stunl.io
│ Read-only https://t-abc123.stunl.io/ro
│ SSH (RO) ssh ro.t-abc123.stunl.io
│
│ ▦ QR [displayed in terminal]
Viewers can connect via a web browser or SSH. Both URLs are displayed when the session starts, along with a QR code for easy mobile access.
Terminal sharing requires a Unix PTY and is not supported natively on Windows. Use WSL2 to run stunl term from a Linux environment.
| Flag | Description |
|---|---|
-shell |
Shell to run (default: $SHELL) |
-i / -allow-input |
Allow viewers to type into the terminal (pair programming) |
-readonly |
Force all viewers to read-only mode |
-name |
Display name for the session |
-subdomain |
Custom subdomain for the session URL |
-record |
Record the session for later replay |
-timeout |
Auto-close after N minutes of inactivity |
-theme |
Web viewer theme |
-domain |
Domain for the session URL |
-key |
API key (overrides STUNL_API_KEY) |
-server |
Server address to connect to |
-grpc-port |
gRPC port on the server |
-insecure |
Use plaintext gRPC (no TLS) |
-skip-verify |
Skip TLS certificate verification |
stunl term spawns a shell process in a PTY and streams the terminal output through a stunl tunnel. Viewers connect via SSH or a web-based terminal emulator -- no software install required on their end.
All gRPC messages between your machine and the server are signed with HMAC for integrity. The session provides both read-write and read-only URLs so you can control who can type.
You are notified in-terminal when viewers connect or disconnect. If a viewer's terminal dimensions differ from yours, a dimension mismatch warning is shown so they can resize.
Pass -record to save the session for later replay. Useful for demos, onboarding walkthroughs, or auditing.
$ stunl term -allow-input -name "debug session"
$ stunl term -readonly -record -name "deployment demo"
$ stunl term -shell /bin/fish -subdomain my-term
$ stunl term -timeout 30