Ever find yourself needing to
- Temporarily share a website that is only running on your dev machine?
- Demo an app at a hackathon without deploying?
- Develop any services which consume webhooks (HTTP callbacks)?
- Debug and understand a web service by inspecting the HTTP traffic?
- Run networked services on machines that are firewalled off from the internet?
All of these use cases and more are served by ngrok, a reverse proxy written in Go that creates a secure tunnel between a public endpoint and a locally running web service. Need a visual?
You download ngrok as a dependency-free binary, unzip it, and drop it in your
$PATH. Then you're up and running in a single command. For instance:
The app shows you the URL to share and the web server to connect to for analysis:
It has a free server component that doesn't require signing up, but there are additional features if you have an account.
The entire code base is open source under the Apache license and available on GitHub.