Image for post
Image for post
Установка и запуск NGROK

Ngrok: открываем доступ к домашнему ПК

Когда может пригодиться: без аренды сервера показать на какой стадии сейчас разрабатываемый сайт, запустить скрипт на домашнем компьютере из интернета и т. д.

1. Установка и запуск ngrok

Регистрируемся на сайте https://ngrok.com/

Переходим на страницу https://dashboard.ngrok.com/get-started

Скачиваем архив для нужной ОС (в данном гайде для Ubuntu) и распаковываем его.

Image for post
Image for post
Установка NGROK по шагам

Далее надо подключиться к аккаунту ngrok и добавить authtoken учетной записи в файл ngrok.yml. Откроем терминал в папке с распакованным файлом и введем следующую команду:

Image for post
Image for post
./ngrok authtoken 1ZzM7dIh5GPRjvsT4fUvGcWnXVL_nmgAJyTKmxGe3swRkrYU

Запустим туннель на 80 порту:

Image for post
Image for post
./ngrok http 80

В итоге получаем:

Image for post
Image for post
Пример работы NGROK

Внешний адрес: https://aaca63b9.ngrok.io

2. Запуск скрипта

Напишем скрипт на python (3.6+), выводящий «Hello world».

Установим необходимые библиотеки:

pip3 install Flask
pip3 install flask-ngrok

Файл называется script.py. Закройте терминал с ngrok, потому что run_with_ngrok(app) запустит ngrok самостоятельно.

from flask import Flask
from flask_ngrok import run_with_ngrok
app = Flask(__name__)
run_with_ngrok(app) # запуск ngrok
@app.route(“/”)
def hello():
return “Hello World!”
if __name__ == ‘__main__’:
app.run()

Откроем терминал и запустим скрипт:

sudo python3 script.py

Проверим доступность на локальной машине:
127.0.0.1:5000 (по умолчанию у Flask порт 5000)

Image for post
Image for post

И из интернета:

Image for post
Image for post

При каждом запуске ngrok внешний адрес будет меняться.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store