mytunnel is a single-user, ngrok-style HTTP tunnel you host yourself — one Go binary, a relay you run yourself, and a live web inspector for every request. No third party in the path.
The convenience of a tunnel, without handing your traffic to someone else.
Watch every request and response in real time at 127.0.0.1:4040 — pretty-printed JSON, binary preview, and one-click replay against localhost.
Not open to the whole internet. Only allowed IPs pass; your client auto-registers yours, and you can add webhook IPs on demand.
No plaintext secret files. mytunnel setup stores the shared secret in your OS keychain, keyed per endpoint.
One Go binary for macOS, Linux and Windows. Zero dependencies — the inspector UI is embedded right in.
You run the relay yourself. Your endpoint, your database, your secret — nothing routed through anyone else.
Built for PaaS with no persistent connections: the transport is a relay over Postgres with double long-polling.
From zero to a public URL over your own relay.
Run the relay (a small app) on infrastructure you control and set a TUNNEL_SECRET. You get your own endpoint URL.
Download the binary for your OS, then run mytunnel setup to save the endpoint and secret.
Run mytunnel --local 3000 and share your public URL. Watch traffic live in the inspector.
# 1 · point the CLI at your relay (secret goes to your keychain) $ mytunnel setup # 2 · expose a local port $ mytunnel --local 3000 → https://calm-fox.example.dev · inspector: 127.0.0.1:4040
Your relay, your secret, your traffic — the whole path is yours.