inlet
A tiny tunnel with a big reach

Your localhost,
now a URL.

Share a local HTTP app from your machine with a stable public link. No port forwarding, router changes, or deployment required.

HTTPS at the edge GitHub sign-in Open source
~/my-app
$
inlet
Session Statusonline up 2m 14s
Forwardinghttps://inlet.example.com/a8f2e➜http://127.0.0.1:3000
Web Interfacehttp://127.0.0.1:4040
Requests  total 5   2xx 4   3xx 0   4xx 1   5xx 0
14:02:31GET20012ms1.2KB/
14:02:29GET2008ms849B/assets/app.css
14:02:27POST20034ms512B/api/hello
14:02:25GET4044ms11B/favicon.ico
14:02:22GET2009ms1.2KB/
Three small steps

From local to shareable.

Inlet forwards HTTP traffic to a port on your machine. Your app stays where it is.

01

Install the client

Choose an install method:
Or download a binary.

brew install ynui/tap/inlet
02

Create your account

Sign in with GitHub, or use open signup.

inlet login
03

Start your tunnel

Run your local app, then point inlet at its HTTP port.

inlet http 3000
GitHub login links your devices to your account. Open signup is also available. Approve in your browser and inlet returns to the terminal. Inlet saves its own token on your machine; it does not save your GitHub access token. The public URL forwards to your local app, so keep the app’s own authentication enabled when needed.
Under the hood

A direct path to your local app.

Your client opens one secure WebSocket connection to this server. Requests for your stable tunnel URL travel through that connection to the HTTP app on your machine.

Inlet handles the path and streams request and response bodies. Your app does not need to be deployed or reachable from the public internet directly.

The server that runs inlet can see the traffic it forwards, so use one you trust.

One stable link

Your tunnel ID stays the same when the client reconnects. Rotate it when you want a new link.

Your token controls the tunnel

Invite codes are single-use. A claimed token is stored locally with restrictive file permissions.

HTTP apps

Inlet forwards HTTP. WebSocket upgrades from the public app URL are not currently supported.

Visitoropens your public link
inlet serverpublic URL
inlet clienton your machine
Your applocalhost:3000
Ready when you are

Bring your app to the edge.

Try the public demo, or run inlet on infrastructure you control.