Skip to content

Instantly share code, notes, and snippets.

@russorat
Forked from SalahHamza/install_ngrok.md
Last active April 19, 2024 19:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save russorat/8cc98b35da004b2298365d08d208e4c1 to your computer and use it in GitHub Desktop.
Save russorat/8cc98b35da004b2298365d08d208e4c1 to your computer and use it in GitHub Desktop.
How to install ngrok on linux subsystem for windows

Ngrok

Overview

ngrok allows you to expose a web server running on your local machine to the internet.

Read more about ngrok in the official docs.

Installation

  1. Go to your root directory
cd
  1. 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.

  1. 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
  1. 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 - <alan@ngrok.com>

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

  1. You need to register for an account at https://ngrok.com/signup and add your authtoken.
./ngrok config add-authtoken <TOKEN>
  1. 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
@remy727
Copy link

remy727 commented Apr 19, 2024

Thank you for sharing.

Maybe can we add sudo cp -f ngrok /usr/local/bin?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment