Ztpr is a Zero Trust Proxy Relay: public HTTPS tunnels you run on your own server and domain. Friendly subdomains, automatic wildcard TLS, and an admin UI. Your traffic never touches a third party.
| URL | Client | Started | Idle | Expires in |
|---|---|---|---|---|
| royal-spruce.tun.example.com | web-dev | 14:02 | 3s | 3h 41m |
| amber-otter.tun.example.com | api-staging | 13:48 | 1m | 3h 27m |
| brave-finch.tun.example.com | 10.0.0.14 | 13:20 | 4m | 2h 59m |
All the convenience of a hosted tunnel, none of the third-party trust. One ASP.NET Core process on your server is the whole relay.
Self-hosted on your own server and domain. No external service ever sits in your request path or sees your traffic.
Every client authenticates with a hashed API key on each connection. Keys are shown once and stored only as SHA-256 hashes.
Each connection gets a memorable two-word host like red-tiger.tun.example.com, released automatically on disconnect or idle.
A single Let's Encrypt wildcard cert (*.tun.example.com) via DNS-01 covers every tunnel — issued hands-free when you connect Amazon Route 53, or with a guided manual wizard for any DNS provider. TLS terminates at the relay; your service sees plain HTTP.
The first registered user is the admin; everyone else needs a single-use invite code. Block a user to instantly kill their sessions, keys, and tunnels.
A Blazor admin UI shows every user, who holds which subdomain, and every active tunnel — with one-click disconnect and per-key limits.
Stand up the relay once, then open tunnels from any machine with an API key.
Run the self-contained server on your Linux box and point a wildcard DNS record at it. The installer sets up the systemd service.
Run the downloadable client with your API key and a local target. It opens a persistent, authenticated WebSocket to the relay.
The relay assigns a subdomain and forwards public HTTPS to your local service — valid for up to four hours, released when you're done.
Free, open source, and completely self-hosted. Stand up the relay and open your first tunnel in minutes.
Read the Getting Started guide