Tunnels you can self-host.
Relay is a self-hostable tunneling service — a Rust-based alternative to ngrok. Expose a local port to the internet over QUIC, with wildcard TLS and your own hostnames.
brew tap afomera/relay https://github.com/afomera/relay.git && brew install relay
relay auth login # opens your browser to sign in & authorize the CLI
relay http 3000
# → https://bright-otter.temporary.sharedwithrelay.com Why relay
Read the docsFully self-hostable
One binary. SQLite or Postgres. Pluggable DNS provider for wildcard TLS. Run the control plane on your own infrastructure and keep your tunnel traffic where you trust it.
QUIC under the hood
Low latency, stream multiplexing, and resilient reconnects across flaky networks.
Hostnames that stick
Generated, reserved, wildcard, or your own custom domain.
HTTP & raw TCP
Web services or Postgres, Redis, SSH — one command.
Install in seconds
brew install on macOS, cargo install anywhere Rust runs.
MIT licensed, open forever
Free and open source. Built in Rust. Use it, fork it, ship it — no catches.
One command, you're online.
Authenticate once, then point relay at any local port. Pick a generated hostname, reserve one on the shared domain, or bring your own.
- Generated subdomains on the shared zone for ephemeral sharing.
- Reserved wildcard hostnames like
api.andrea. - Custom domains with automatic wildcard TLS.
- Raw TCP on a shared ingress address.
relay http 3000
# → https://bright-otter.temporary.sharedwithrelay.com relay http 3000 --hostname api.andrea
# → https://api.andrea.sharedwithrelay.com relay http 3000 --domain tunnel.mycompany.com relay tcp 5432
# → tcp.sharedwithrelay.com:29734 Ready to start tunneling?
Install the CLI, sign in from your browser, and expose a port. Zero to URL in under a minute.
brew tap afomera/relay https://github.com/afomera/relay.git && brew install relay relay auth login relay http 3000