// the find
maxmcd/webtty
Share a terminal session over WebRTC
webtty shares a terminal session over WebRTC, meaning no relay server needed for the data path — just a peer-to-peer connection negotiated via SDP exchange. You paste a connection string to your colleague and they get a live terminal. Useful for quick pair debugging, especially when the target machine is behind a NAT you don't control.
- The core model is genuinely clever: WebRTC's NAT traversal means the session data flows peer-to-peer, not through someone's VPS. For most NAT configurations, this just works.
- The browser client (via WASM + xterm.js) means the other party doesn't need to install anything — they can connect from the static GitHub Pages URL.
- One-way mode with the -o flag is a real use case: a CI/CD job can emit a connection string on failure and let you drop into the broken environment without any pre-configured tunnel.
- Small, flat codebase — host.go, client.go, session.go. Easy to read the whole thing and understand exactly what's happening with the SDP negotiation.
- The one-way connection feature depends on 10kb.site, a third-party service the author runs personally. If that goes down, -o mode breaks entirely — and the README openly acknowledges this is philosophically awkward.
- Terminal sizing is a known rough edge. The host terminal frequently renders wrong and the workaround is 'use tmux', which is a real answer but not a fix.
- Last meaningful activity on the repo predates the current pion/webrtc API; the README itself warns about breaking API changes and tells you to manually run go get -u. That's a bad sign for long-term maintenance.
- No authentication beyond the obscurity of the SDP connection string. If someone intercepts or guesses that blob, they have a shell. Fine for a quick dev pairing tool, not appropriate for anything you'd call production use.