ngrok allows you to expose a web server running on your local machine to the internet.
Read more about ngrok in the official docs.
- Go to your root directory
cd
- download ngrok .tgz file
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
if by any chance the url has been changed go to ngrok download page and copy the url of the linux .tgz file.
- untar the file
tar xvzf ngrok-v3-stable-linux-amd64.tgz
in case you don't have tar installed, you can do that like this
sudo apt install tar
- if you pass in this command
./ngrok
you'll see this output
NAME:
ngrok - tunnel local ports to public URLs and inspect traffic
DESCRIPTION:
ngrok exposes local networked services behinds NATs and firewalls to the
public internet over a secure tunnel. Share local websites, build/test
webhook consumers and self-host personal services.
Detailed help for each command is available with 'ngrok help <command>'.
Open http://localhost:4040 for ngrok's web interface to inspect traffic.
EXAMPLES:
ngrok http 80 # secure public URL for port 80 web server
ngrok http -subdomain=baz 8080 # port 8080 available at baz.ngrok.io
ngrok http foo.dev:80 # tunnel to host:port instead of localhost
ngrok tcp 22 # tunnel arbitrary TCP traffic to port 22
ngrok tls -hostname=foo.com 443 # TLS traffic for foo.com to port 443
ngrok start foo bar baz # start tunnels from the configuration file
VERSION:
2.2.8
AUTHOR:
inconshreveable - <[email protected]>
COMMANDS:
authtoken save authtoken to configuration file
credits prints author and licensing information
http start an HTTP tunnel
start start tunnels by name from the configuration file
tcp start a TCP tunnel
tls start a TLS tunnel
update update ngrok to the latest version
version print the version string
help Shows a list of commands or help for one command
this means that ngrok is working well
- You need to register for an account at https://ngrok.com/signup and add your authtoken.
./ngrok config add-authtoken <TOKEN>
- all you need to do is specify a port where your website is servered so that you expose it to the internet. Example
./ngrok http 8000
passing the above command will produce this output
ngrok (Ctrl+C to quit)
Session Status online
Account ngrok user (Plan: Free)
Version 3.6.0
Region United States (California) (us-cal-1)
Latency -
Web Interface http://127.0.0.1:4040
Forwarding https://e1906b3b1b85.ngrok.app -> http://localhost:80
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00