
Ngrok: открываем доступ к домашнему ПК
Когда может пригодиться: без аренды сервера показать на какой стадии сейчас разрабатываемый сайт, запустить скрипт на домашнем компьютере из интернета и т. д.
1. Установка и запуск ngrok
Регистрируемся на сайте https://ngrok.com/
Переходим на страницу https://dashboard.ngrok.com/get-started
Скачиваем архив для нужной ОС (в данном гайде для Ubuntu) и распаковываем его.

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

./ngrok authtoken 1ZzM7dIh5GPRjvsT4fUvGcWnXVL_nmgAJyTKmxGe3swRkrYU
Запустим туннель на 80 порту:

./ngrok http 80
В итоге получаем:

Внешний адрес: 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_ngrokapp = 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)

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

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