Menu

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 login

If 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.

Invite-only
Accounts are invite-only — an admin creates them. See Accounts & sessions for details.

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.uz

The 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:PORT

Then connect through that address:

$ ssh -p PORT user@tnnl.uz

See TCP tunnels for more.

What next

Tip
The default endpoints point at the hosted 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.