ngrok tunnels your localhost to the internet for sharing and replay

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?

ngrok overview

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:

ngrok localhost:3000

The app shows you the URL to share and the web server to connect to for analysis:

ngrok-in-action

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.

News Films

Our little film studio focuses on telling developer-centric stories that need to be seen.

Beyond Code: Season 3 / GopherCon 2015

 
0:00 / 0:00