Need help with pyngrok?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

alexdlaird
150 Stars 22 Forks MIT License 615 Commits 0 Opened issues

Description

A Python wrapper for ngrok

Services available

!
?

Need anything else?

Contributors list

# 225,945
Django
HTML
JavaScr...
faceboo...
540 commits
# 2,554
civic-t...
Qt
python-...
prose
2 commits
# 79,299
Jupyter...
MATLAB
C++
sed
1 commit
# 479,706
JavaScr...
HTML
Shell
ngrok
1 commit
# 34,618
Python
cura
c-plus-...
qml
1 commit

pyngrok - a Python wrapper for ngrok

PyPI Version CI/CD Codecov Docs Python Versions PyPI License Tweet

pyngrok
is a Python wrapper for
ngrok
that manages its own binary and puts it on your path, making
ngrok
readily available from anywhere on the command line and via a convenient Python API.

ngrok is a reverse proxy tool that opens secure tunnels from public URLs to localhost, perfect for exposing local web servers, building webhook integrations, enabling SSH access, testing chatbots, demoing from your own machine, and more, and its made even more powerful with native Python integration through

pyngrok
.

Installation

pyngrok
is available on PyPI and can be installed using
pip
:
pip install pyngrok

or

conda
:
conda install -c conda-forge pyngrok

That's it!

pyngrok
is now available as a package to our Python projects, and
ngrok
is now available from the command line.

Basic Usage

To open a tunnel, use the

connect
method, which returns a

NgrokTunnel
, and this returned object has a reference to the public URL generated by
ngrok
in its
public_url
attribute.
from pyngrok import ngrok

Open a HTTP tunnel on the default port 80

ngroktunnel:.ngrok.io" -> "http://localhost:80">

http_tunnel = ngrok.connect()

Open a SSH tunnel

ngroktunnel: "localhost:22">

ssh_tunnel = ngrok.connect(22, "tcp")

The

connect
method takes

kwargs
as well, which allows us to pass additional properties that are supported by ngrok.

This package puts the default

ngrok
binary on our path, so all features of
ngrok
are available on the command line.
ngrok http 80

For details on how to fully leverage

ngrok
from the command line, see ngrok's official documentation.

Documentation

For more advanced usage,

pyngrok
's official documentation is available at http://pyngrok.readthedocs.io.

Python 2.7

The last version of

pyngrok
that supports Python 2.7 is 4.1.x, so we need to pin
pyngrok>=4.1,<4.2
if we still want to use
pyngrok
with this version of Python. Its legacy documentation can be found here.

Contributing

If you would like to get involved, be sure to review the Contribution Guide.

Want to contribute financially? If you've found

pyngrok
useful, a donation would also be greatly appreciated!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.