explaingit

inconshreveable/ngrok

24,459GoAudience · developerComplexity · 2/5DormantSetup · easy

TLDR

Reverse proxy that gives your local server a public internet address, letting you share work-in-progress apps and test webhooks without deploying.

Mindmap

mindmap
  root((repo))
    What it does
      Reverse proxy
      Public URL tunnel
      Traffic capture
      Webhook debugging
    Use cases
      Demo local apps
      Test webhooks
      Private network access
      IoT gateways
    Tech stack
      Go
    Key features
      Firewall included
      API gateway
      Request inspection
    Status
      Archived v1
      No longer maintained

Things people build with this

USE CASE 1

Demo a work-in-progress website to a client or colleague without deploying to a public server.

USE CASE 2

Test webhook integrations from services like Stripe or GitHub during local development.

USE CASE 3

Securely access APIs or databases inside private networks from external applications.

USE CASE 4

Run IoT device gateways that need to communicate with cloud services.

Tech stack

Go

Getting it running

Difficulty · easy Time to first run · 5min
License could not be detected automatically. Check the repository's LICENSE file before use.

In plain English

ngrok is a reverse proxy service that creates a secure public URL that tunnels traffic to a server running on your local machine. In everyday terms: if you are building a website on your own computer and want to show it to someone else, or test it with an external service like a payment webhook, you would normally need to deploy it to a public server. ngrok skips that step by giving your local server a public internet address instantly. The tool combines several functions: it acts as a reverse proxy (forwarding public requests to your local machine), a firewall, and an API gateway. It can also capture and display all traffic flowing through it, which makes it useful for debugging webhooks, HTTP callbacks sent by external services like Stripe or GitHub when something happens. Common uses include demoing a local app to a client without deploying it, testing webhooks during development, connecting securely to APIs or databases inside private networks, and running IoT device gateways. Note: this specific repository is the archived version 1 from 2013-2016 and is no longer maintained. The current ngrok service and its SDKs are developed separately at the ngrok GitHub organization. The tech stack is Go.

Copy-paste prompts

Prompt 1
Show me how to set up ngrok to expose my local Node.js server on port 3000 to the public internet.
Prompt 2
How do I use ngrok to inspect and debug webhook requests from Stripe in real time?
Prompt 3
Can you walk me through using ngrok to demo a local web app to a client without deploying it?
Prompt 4
What's the best way to use ngrok to test a payment callback integration before going live?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.