tunnel
A temporary public URL on exl.ink that relays HTTP to your machine — for catching webhooks/callbacks or showing a localhost server to someone elsewhere. Pure HTTP, no NAT/port-forwarding, no account.
Receive requests in this browser
Open a “sink” — you get a public URL, and every request that hits it streams in live below. exl.ink auto-replies 200 to each visitor, so there’s nothing to install or run. Great for OOB callbacks.
Prefer the terminal?
# 1) open a sink tunnel — note the "url" and "secret"
curl -s "https://exl.ink/api/tunnel/open?mode=sink"
# 2) watch requests hit your public URL (Ctrl-C to stop)
curl -N "https://exl.ink/api/tunnel/pull?id=<id>&secret=<secret>"Forward to a local port
Expose localhost:3000 publicly. This half can’t run in a browser — it needs a process on your machine — so it’s a tiny dependency-free Node client you download and run:
curl -fsSL https://exl.ink/api/tunnel/client -o exlink.js
node exlink.js 3000Limits & caveats
- 30-minute lifetime · max 2 tunnels per IP · 120 requests/min · 8MB max body
- Dropped automatically when your client disconnects — nothing camps.
- Relays plain HTTP only (not the tunneled app’s own WebSockets).
- Full websites that use absolute-path assets may not render correctly under
/t/<id>/— best for APIs, webhooks, and simple sites.