README

Remote terminal access without opening inbound ports

termhop connects an agent and browser through a relay. Terminal content is end-to-end encrypted between those devices; the relay routes ciphertext.

How it works

  1. Run the termhop agent on Linux, macOS, or Windows.
  2. The agent makes an outbound WebSocket connection to a hosted or self-hosted relay.
  3. Open the browser client and confirm the one-time authenticated pairing link.
  4. Use the real PTY or ConPTY session from your browser.

Hosted

Use an account-managed isolated relay without operating relay infrastructure.

Create an account →

Self-hosted

Run the AGPL relay and agent source on infrastructure you control.

View source →

Disposable demo

Try allowlisted games, ANSI animations, the relay showcase, Codex, and Claude in a container destroyed after 10 minutes.

Read the demo warning →

Support

Help support development and hosted relay costs.

Buy Me a Coffee →