Как создать ссылку с помощью ngrok, используя CMD и туннель ngrok

Чтобы создать ссылку с помощью ngrok с помощью командной строки (cmd) во время работы туннеля ngrok, вы можете выполнить следующие действия:

Шаг 1. Установите ngrok
Если вы еще этого не сделали, загрузите и установите ngrok с официального сайта ( https://ngrok.com/ ). Обязательно добавьте ngrok в переменную PATH вашей системы, чтобы можно было запускать его из командной строки.

Шаг 2. Запустите туннель ngrok
Откройте окно командной строки и перейдите в каталог, в котором установлен ngrok. Выполните следующую команду, чтобы запустить ngrok, и укажите порт, который вы хотите предоставить:

ngrok http <port>

Замените <port>номером порта вашего локального сервера или приложения. Например, если ваше приложение работает на порту 3000, вам следует использовать ngrok http 3000.

Шаг 3. Получите ссылку ngrok
После запуска команды ngrok вы увидите, что ngrok генерирует URL-адрес для пересылки. Это будет выглядеть примерно так:

Forwarding                    http://abcdefg.ngrok.io -> http://localhost:<port>

URL-адрес http://abcdefg.ngrok.io— это ссылка, созданная ngrok, которую вы можете использовать для доступа к локальному серверу или приложению из Интернета.

Метод 1: Захват ссылки ngrok с использованием вывода CMD
Вы можете захватить ссылку ngrok, проанализировав вывод командной строки. Вот пример на Python:

import subprocess
import re
def get_ngrok_link():
    result = subprocess.run(['ngrok', 'http', '<port>'], capture_output=True, text=True)
    output = result.stdout.strip()
    match = re.search(r'Forwarding\s+(http://\S+)\s+->', output)
    if match:
        return match.group(1)
    return None
ngrok_link = get_ngrok_link()
if ngrok_link:
    print("Ngrok link:", ngrok_link)
else:
    print("Failed to get ngrok link.")

Замените <port>фактическим номером порта, который вы используете.

Метод 2: использование API ngrok
Ngrok предоставляет RESTful API, который позволяет программно получать доступ к функциям ngrok. Вы можете использовать API, чтобы получить ссылку на ngrok. Вот пример использования библиотеки Python requests:

import requests
def get_ngrok_link():
    response = requests.get('http://localhost:4040/api/tunnels')
    if response.status_code == 200:
        data = response.json()
        tunnels = data.get('tunnels', [])
        for tunnel in tunnels:
            if tunnel['proto'] == 'http':
                return tunnel['public_url']
    return None
ngrok_link = get_ngrok_link()
if ngrok_link:
    print("Ngrok link:", ngrok_link)
else:
    print("Failed to get ngrok link.")

Обратите внимание, что для работы этого метода вам необходимо запустить ngrok с включенным веб-интерфейсом. Вы можете включить веб-интерфейс, добавив флаг --webuiпри запуске ngrok.