ngrok
A weekend of work, and real gaps remain.
A public address for something running on your laptop: a tunnel from their edge to your local port, with a stable domain, TLS and a request inspector.
Build the tunnel on a server you already have. STACK - A small VPS with a public address, plain OpenSSH, Caddy in front THE TUNNEL - Remote port forwarding: ssh -R binds a port on the server to a port on your laptop - GatewayPorts clientspecified in the server config, or the bind stays on localhost and nothing reaches it - Caddy terminates TLS and proxies a subdomain to that port; certificates are automatic KEEPING IT UP - autossh, or a systemd user service with restart on failure - ServerAliveInterval so a dead connection is noticed rather than hanging THE INSPECTOR, WHICH IS THE PART WORTH COPYING - A tiny proxy in front of your app that records method, headers and body of every request - A page listing them with a replay button; replaying a webhook while debugging is the whole reason people pay for this SECURITY - Never expose a development machine without at least basic authentication in Caddy Include the SSH config, the Caddyfile and the inspector.
What you lose
- A global edge with low latency wherever the caller is, which one small server cannot match
- A request inspector that lets you replay a webhook you just received
- Reserved domains, TLS and authentication configured rather than assembled
If you would rather not build
- Cloudflare Tunnel, free for most uses
- Plain SSH remote forwarding, which needs no software at all
The escape hatch
open source · no votes, no paid placement
frp
$0A fast reverse proxy for exposing a local server, self-hosted on both ends.
fatedier/frpfree · open source
localtunnel
$0A simple tunnel with a server you can run yourself.
localtunnel/localtunnelfree · open source
Why this verdict
our own opinion · changed only by a person
62/100
Verdict kinda at 62. The tunnel is four lines of SSH; the replayable request inspector is what takes a weekend and what you actually miss.
History
tracked since 10 Aug 2026 · nothing is ever overwritten
Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.
Questions about ngrok
answered from the record above
Is ngrok free?
No — the plan we track is $8 a month. Personal at $8/month billed monthly, cheaper annually; a free tier gives a rotating address.
Can you replace ngrok by building your own?
ALMOST. A weekend of work, and real gaps remain. Replacement score 62 out of 100, build time a weekend. Read what you lose before you decide.
How much does ngrok cost?
$8 a month on Personal — $96 a year. Recorded 10 Aug 2026.
What do you lose by replacing ngrok?
A global edge with low latency wherever the caller is, which one small server cannot match; A request inspector that lets you replay a webhook you just received; Reserved domains, TLS and authentication configured rather than assembled. If any of those carry weight for you, keep paying.
Is there an open-source alternative to ngrok?
Yes: frp, localtunnel. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click.
free forever · no tracking pixel · every prompt stays free on the site