WTF is Ngrok?
September 18th, 2017
Ngrok better than sliced bread!
As a software engineer developing telecom based web applications, testing and validating software can be a major time sync. How do you get your lab system on the Internet, accessible with a public IP, so you can test a Webhook or REST API for example? What if you are working behind a router that has a dynamic IP address? Reconfiguring your firewall for each test of the new code is a pain! There has to be an easy way to enable testing without going through 20 acts of vaudeville to test your application code!
We recently discovered two tools that are now essential elements of our software engineering toolkit! Ngrok is very creative service that solves many problems for testing network-based applications during the pre-deployment, development process. Ngrok is a software service developed by Alan Shreve, clearly a genius, who often goes by the name “Inconshreveable”! In its simplest form, Ngrok is a solution that enables you to expose your lab web server which is normally installed behind a NAT or firewall, and connect with it over the Internet. Ngrok makes it easy to set up a secure outbound SSL tunnel that can be reached by a hyperlink to a public IP.
Secure tunnels on Demand!
Ngrok is a powerful tool and Alan Shreve is an extraordinary personality! He makes this available for free use! No credit card required! Just open an account here
and give this a try! Then download Ngrok to your local Windows, MAC O/S or Linux development platform, unzip it and run it with a very simple configuration command. You might enter “Ngrok http 80” into your terminal window to indicate that you have a web server listening on port 80 on your local machine.
Ngrok then displays a DNS link that you can point at to access and test your application. Now you can demo without deploying, simplify mobile device testing, build webhook integrations or run personal cloud services from your own private network! For a modest monthly fee, you can change the random number Ngrok generates for your unique link to a reserved domain name. So https://92832de0.ngrok.io can become https://yourcompanyname.ngrok.io which will not change and is easy for you to deal with! The free account generates a random number that will change each time you run Ngrok. Using a reserved domain also makes webhooks a lot easier. For example, when developing Twilio applications you would have to change your webhook every time you ran Ngrok. The paid version enables a reserved domain name that you can now use to stabilize your Twilio webhook!
You can also build secure tunnels that are password protected and able to support multiple simultaneous connections. Open http://localhost:404o on the platform running your Ngrok client and you can inspect and replay traffic:
We now regularly use Ngrok not only for development testing but also for remote support applications so we don’t have to worry about VPN credentials! You can create TCP tunnels as easy as you set up HTTP tunnels! This resource will save you more than enough time to pay the annual fee of $60 for a basic account (1 online process, 3 reserved domain names and eight tunnels per process). Alan is online from time to time and otherwise provides a link to ask questions! (Learn about Alan’s other projects here)!
No serious developer, network engineer or remote support technician can afford to be without this power utility! – DrVoIP
(As a product of the 60’s you might note that Grok was first used in “stranger in a strange land”, a SiFi novel. Profound effect on most of the 60’s generation).