There are plenty of good ways to reach a shell on a remote machine. This page sets out where termtether fits, how it differs from SSH, mosh, self-hosted web terminals, Tailscale SSH, and Cloudflare's browser SSH — and when one of those is the better tool.
termtether in one paragraph. A small agent on your Linux or macOS machine dials out, and you open that machine's tmux sessions from any browser at sh.termtether.dev/<handle>. Your browser and your box set up a direct WebRTC (DTLS) connection — over your LAN or VPN when possible, hole-punched otherwise, through a TURN relay only as a last resort, which sees only ciphertext. The box's own identity key signs the connection, and your box itself decides who gets in. Several people can use one machine: each Unix user gets their own install and isolated terminal, or you share a box with specific GitHub accounts. On top of the terminal: alerts when an agent needs you, a Files panel, HTTP forwarding, and a layout built for phones.
At a glance
Facts about the other tools are their general, documented behaviour; configurations vary, so check their documentation for your setup.
| Question | termtether | SSH | mosh | ttyd · gotty · wetty | Tailscale SSH | Cloudflare browser SSH |
|---|---|---|---|---|---|---|
| Inbound port on your machine | None — the agent dials out | Yes, TCP 22 (or a VPN / jump host to reach it) | SSH to start, then inbound UDP (60000–61000 by default) | An HTTP listener you must secure yourself (TLS, auth, who can reach it) | None public; reachable over your tailnet | None public; cloudflared dials out |
| What the device in your hand needs | A browser | An SSH client and your key | A mosh client | A browser | The Tailscale client plus an SSH client; tailnet admins can also use the browser SSH console (beta) | A browser |
| Where the encryption ends | Your browser and your box (WebRTC / DTLS), once you trust the box on first connect | Your client and your server | Your client and your server | Wherever you terminate TLS (often a reverse proxy) | WireGuard between your devices; SSH on the box | Browser to Cloudflare, then Cloudflare Tunnel to your server; Cloudflare renders the terminal in your browser |
| Who you sign in as | Your GitHub account, re-checked by the box against its own list | Keys, passwords or certificates you manage | Same as SSH | Whatever you add (basic auth, an auth proxy) | Your tailnet identity and its access rules | Your Cloudflare Access policy |
| Session survives a disconnect | Yes — tmux is built in; pick it up from another device | Only if you run tmux or screen yourself | Yes, across roaming and sleep; another device needs tmux too | Depends on what the listener runs | As SSH | As SSH |
| Phone-friendly input | Touch toolbar (Esc, Tab, Ctrl, Alt, arrows), phone layout | Depends on your client app | Depends on your client app; local echo helps on slow links | A browser terminal | Depends on your client app | A browser terminal |
| Alerts when an agent needs you | Web push from your box; approve Claude Code prompts from it | Not built in | Not built in | Not built in | Not built in | Not built in |
| Files and web ports | Files panel (browse, upload, download); open a box's localhost web app in your browser | scp / sftp; -L / -R port forwarding | No — use SSH alongside it | Terminal only | scp / sftp; any port on the tailnet | Terminal; other services through Cloudflare Tunnel |
| Scripting and automation | Not the goal — it is an interactive terminal | Excellent | Interactive only | Interactive only | Excellent (it is SSH) | Via cloudflared on the client |
| Coordination service involved | Yes — ours signs you in and introduces your browser to your box; a managed TURN relay is the fallback path. The terminal stays encrypted between your browser and your box | No | No | No | Yes — Tailscale's coordination server | Yes — Cloudflare, which also carries the session and renders the terminal |
In more detail
SSH is the standard, and the right tool for most remote work. It needs a port your client can reach (or a VPN or jump host in the way), key management, and an SSH client on every device you use.
termtether needs no inbound port and only a browser on the viewing device. Identity is your GitHub account, verified on the box. tmux persistence, a phone layout and agent alerts come built in.
mosh is excellent on flaky, high-latency links: it survives roaming and sleep and echoes keystrokes locally. It starts over SSH, then needs inbound UDP to the server and a mosh client on your device.
termtether needs no inbound port of any kind and runs in a browser. Its sessions live in tmux, so you can pick one up from a different device.
These put a terminal in a browser by running an HTTP server on your machine. Protecting that listener — TLS, authentication, who can reach it — is up to you.
termtether uses ttyd too, but on a private Unix socket on the box. The only way in is an authenticated WebRTC connection that the box itself admits, with the box's key signing the connection. Multiple boxes, files, forwarding, and push sit on top.
Tailscale SSH is a good fit when every device you use is on your tailnet. The device in your hand needs the Tailscale client, and usually an SSH client too. Tailnet admins can also open a session from a browser through the admin console's SSH console (in beta).
termtether needs only a browser on the viewing device, so a borrowed laptop works. Already on Tailscale or another VPN? When your browser and box can reach each other over it, termtether connects over that path directly.
Cloudflare can render an SSH terminal in the browser behind Cloudflare Access, carried to your server over Cloudflare Tunnel. Your Cloudflare Access policy decides who reaches the server.
With termtether, the encrypted connection runs from your browser to your box. termtether's own sign-in also uses Cloudflare Access (with GitHub), but that only issues an identity, which your box verifies again against its own list; our coordination service can deny access, never grant it.
If you use one vendor's coding agent and its own app or remote feature does what you need, it is a fine choice.
termtether is a full terminal on your own box: run any CLI — Claude Code, Codex, Grok, or a plain shell — side by side, signed in with your own credentials, across several machines, with files and port forwarding alongside.
Be honest
Last reviewed October 2026. Spotted something wrong about another tool? Tell us from your dashboard's feedback button and we'll fix it.