Your first tunnel
Open your first JustTunnel tunnel in 60 seconds.
In under a minute, you'll have a public HTTPS URL pointing at your local development server. This guide assumes you've already installed the CLI and authenticated.
Start a tunnel
Run any local web server — next dev, npm start, a Go service, anything that listens on a port. Then point JustTunnel at it:
justtunnel 3000
That single command opens a WebSocket to JustTunnel's edge, registers a subdomain, and starts forwarding inbound HTTPS traffic to http://localhost:3000.
What you'll see
JustTunnel prints a status banner with your public URL:
✔ Connected to api.justtunnel.dev
Forwarding https://wandering-otter-42.justtunnel.dev → http://localhost:3000
Status ● Online
Plan Free · 1/1 tunnels
Local http://localhost:3000 (200 OK in 12ms)
Press Ctrl+C to stop.
The exact subdomain is randomized per session — yours will look different. As inbound requests come in you'll see them logged below the banner with method, path, status, and latency.
Hit your tunnel
From any device — your phone, a co-worker's laptop, a webhook sender — open the public URL. Traffic streams through JustTunnel's edge to your local process in real time.
curl https://wandering-otter-42.justtunnel.dev/api/health
{"ok":true,"version":"0.4.2"}
That response came from localhost:3000 on your laptop. Headers, cookies, and request bodies pass through unchanged, so anything that works against localhost works against the tunnel URL.
To stop, hit Ctrl+C in the CLI. The tunnel closes immediately and the public URL stops resolving.
What's next
Reserve a custom subdomain
Lock in a memorable URL across restarts.
Read more →Password-protect your tunnel
Add basic auth so prying eyes get a 401.
Read more →Use a tunnels.yaml config file
Declare ports, subdomains, and auth in one file.
Read more →Run a long-lived worker tunnel
Keep a tunnel up under systemd or as a managed worker.
Read more →