Quickstart
Once the CLI is installed, you're three commands away from a public URL that routes to a service on your machine.
1. Log in
Authorize the CLI with your account. This opens your browser to authorize at tnnl.uz:
$ tnnl loginIf you'd rather not open a browser, use tnnl login --no-browser for an email and password prompt instead. On first login you set a personal password.
2. Expose a port
Point tnnl at a local port. Here we expose a web app running on port 3000:
$ tnnl http 3000
Tunnel ready: https://flying-bird-4024.tnnl.uzThe CLI prints a public HTTPS URL like https://flying-bird-4024.tnnl.uz and then shows a live feed of incoming requests in the terminal.
3. Share the URL
Send the URL to anyone — visitors hit it and their requests stream to your machine. Press Ctrl-C to stop. If the connection drops, the CLI auto-reconnects.
Exposing a TCP service
For raw byte streams like SSH, use a TCP tunnel. It returns a dedicated host and port:
$ tnnl tcp 22
Tunnel ready: tnnl.uz:PORTThen connect through that address:
$ ssh -p PORT user@tnnl.uzSee TCP tunnels for more.
What next
- HTTP tunnels — subdomains, names, and routing.
- Custom domains — serve on your own domain.
- CLI reference — every command and flag.
tnnl.uz. Self-hosters point the CLI at their own server with the TUNNEL_SERVER, TUNNEL_API_URL, and TUNNEL_WEB_URL environment variables — see Self-hosting.