A Python wrapper for ngrok
pyngrokis a Python wrapper for
ngrokthat manages its own binary and puts it on your path, making
ngrokreadily 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.
pyngrokis available on PyPI and can be installed using
pip:
pip install pyngrok
or
conda:
conda install -c conda-forge pyngrok
That's it!
pyngrokis now available as a package to our Python projects, and
ngrokis now available from the command line.
connectmethod, which returns a
NgrokTunnel, and this returned object has a reference to the public URL generated by
ngrokin its
public_urlattribute.
from pyngrok import ngrokOpen 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")
connectmethod takes
kwargsas well, which allows us to pass additional properties that are supported by ngrok.
This package puts the default
ngrokbinary on our path, so all features of
ngrokare available on the command line.
ngrok http 80
For details on how to fully leverage
ngrokfrom the command line, see ngrok's official documentation.
For more advanced usage,
pyngrok's official documentation is available at http://pyngrok.readthedocs.io.
The last version of
pyngrokthat supports Python 2.7 is 4.1.x, so we need to pin
pyngrok>=4.1,<4.2if we still want to use
pyngrokwith this version of Python. Its legacy documentation can be found here.
If you would like to get involved, be sure to review the Contribution Guide.
Want to contribute financially? If you've found
pyngrokuseful, a donation would also be greatly appreciated!