TopGit
GitHub Repo Review

ngrok v1: archived open source tunnel for Go

NTopGit review image for inconshreveable/ngrok
Review by Topgit.dev for inconshreveable/ngrok, with GitHub repository stats and README context.
Quick verdict

ngrok v1 is worth opening only as a historical reference or a fork starting point, not something to run today. Its own README says so directly: no longer developed, supported, or maintained, with the working path being the hosted ngrok cloud service or its newer open-source SDKs. Need a self-hosted Go tunnel binary anyway? Forking this abandoned code is rougher than starting from frp.

Stars
★ 24.4k
Forks
⑂ 4.3k
Language
Go
License
See repository
Topic
—
Updated
Apr 2024
Homepage
GitHub

What is the inconshreveable/ngrok repository?

ngrok v1 is the archived GitHub repository for the reverse-proxy tool inconshreveable built from 2013 to 2016. The README opens with a deprecation notice: ngrok v1 is no longer developed, supported, or maintained, and anyone who wants to keep it going is told to fork it. Searches for ngrok today lead to the hosted ngrok cloud service, with new open-source work continuing in separate SDK and Kubernetes-operator repos.

What ngrok v1 could do

  • ✓Combines a reverse proxy, firewall, API gateway, and load balancer into one binary, per the README's own description.
  • ✓Captures and can replay traffic sent to your web service, so you can inspect a request after the fact instead of only watching it live.
  • ✓Opens a public URL that forwards to a service running on your own machine — the core tunnel mechanic the whole tool is built around.
  • ✓Handles site-to-site connectivity, reaching APIs and databases inside a customer's network without extra firewall or NAT configuration.
  • ✓Works as a device gateway, letting you control an IoT device's local API from the cloud.
  • ✓Ships as a single Go binary with no separate runtime to install.
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history ↗

Common ngrok v1 use cases

  • •Demoing a local build to a client or teammate before anything is deployed anywhere.
  • •Catching and replaying webhook callbacks from services like payment or messaging providers during development.
  • •Reaching into a customer's internal network to hit an API or database without reconfiguring their firewall.
  • •Debugging a web service by inspecting the raw HTTP traffic hitting it.

Strengths

  • ✓The core idea is simple: one binary acting as proxy, firewall, and traffic inspector, easier to reason about than gluing together separate tools.
  • ✓Ships as a compiled Go binary, so there's no separate runtime to install on the host.
  • ✓Traffic capture and replay (per the README) is genuinely useful for webhook development — you can resend a captured request without re-triggering the real event upstream.
  • ✓Being archived and open on GitHub, it's still there to fork if you need to keep a specific v1 behavior alive.

Why ngrok v1 is no longer maintained

  • △Archived: the README says ngrok v1 is no longer developed, supported, or maintained, so no bug fixes or security patches are coming.
  • △No license is listed in the repo's metadata, so the terms for reusing or redistributing the code aren't clearly documented.
  • △No install or usage documentation ships with this version of the README — it's a deprecation notice, not a manual.
  • △All new feature work moved to the closed, hosted ngrok cloud service; the open-source successors (agent SDKs, Kubernetes operator) live in separate repos and aren't drop-in replacements for this binary.

Alternatives to ngrok v1

frp — an open-source reverse-proxy tool developers use for the same job: exposing a local service through a public endpoint, without ngrok v1's abandoned status. ↗localtunnel — a lightweight open-source tunnel tool for the same quick 'get me a public URL' use case.Cloudflare Tunnel — a maintained, actively supported way to expose a local service publicly through Cloudflare's network.

Frequently asked questions

Is ngrok v1 open source still maintained?

ngrok v1 open source is not maintained — the repository's own README states it plainly: ngrok v1 is no longer developed, supported, or maintained, and it was actively worked on only from 2013 to 2016. Anyone who wants to continue development is told to fork the codebase themselves.

What is the difference between ngrok v1 and the current ngrok cloud service?

ngrok v1 is the old, archived open-source codebase from 2013-2016, while the current ngrok cloud service is the actively developed, hosted product you sign up for today. The README redirects all v1 issues and questions to the ngrok cloud service and its separate GitHub community instead of this repository.

Is the ngrok v1 codebase free to use or fork?

The ngrok v1 repository doesn't list a license in its metadata, so the exact terms for reuse aren't clearly documented here. The README does explicitly invite forking — it tells anyone who wants to keep developing ngrok v1 to fork the repository — but check the repo's actual license file before reusing the code commercially.

What programming language is ngrok v1 written in?

ngrok v1 is written in Go, based on the repository's listed primary language. That matches how it shipped: as a compiled reverse-proxy binary rather than a script needing a separate runtime installed on the host.

Can I still use ngrok v1 for webhook testing?

ngrok v1's source is still on GitHub and the README describes traffic capture and replay as one of its features, so the mechanism still exists — but there's no maintained build or install documentation to lean on. For actual webhook testing today, the README points to the currently supported ngrok cloud service instead.

What open source tools replaced ngrok v1?

No single project replaced ngrok v1 outright, but frp is a commonly used open-source reverse-proxy tool developers reach for to expose a local service through a public endpoint.

The problem it solves

Testing a webhook or demoing a local build used to mean deploying an unfinished service somewhere public just to get a reachable URL, or configuring port forwarding on a router you didn't control. ngrok v1 solves that narrow problem: it opens a public URL that forwards straight to a process running on your own machine, so a webhook sender or a teammate across the room can hit code that's still sitting on localhost. That's the entire idea.

How to install / try

The README in this archived repo doesn't include build or install steps for ngrok v1 — it's a deprecation notice, not a setup guide, so getting the old binary running isn't clearly documented here. The only concrete path the README gives is forking the repository and building from source with Go, since the project describes itself as archived and not maintained. For a working, supported version of ngrok today, the README points to signing up for the ngrok cloud service instead.

How to use

Usage instructions for the v1 command-line tool aren't in this repository's README either — there's no example command, config file format, or flag reference given. What the README does describe is the general behavior: ngrok acts as a reverse proxy that captures and can replay traffic to your service, and the maintained way to get that behavior now is through the ngrok cloud service's agent, not this archived codebase.

Who should try it — and who should skip

Try the ngrok v1 source if you're researching how an early reverse-proxy tunnel was built in Go, or you need a codebase to fork because you depend on very specific v1 behavior the hosted service changed. Skip it if you just need a tunnel that works today — the README itself redirects you to the ngrok cloud service, and picking through an archived, undocumented codebase to get a local build running is a worse use of an afternoon than installing something maintained.

Source & attribution

Facts sourced from the inconshreveable/ngrok GitHub repository and its README.

GitHub data · last synced Aug 15, 2026Reviewed by Henry
← Back to TopGit

Is ngrok worth your time?

ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of ngrok.

GitHub