Как мне найти список поддоменов, уже используемых в ngrok?

Мы используем ngrok в нашей сборке CI, чтобы протестировать API с помощью стороннего сервиса. Это оказалось довольно успешным, за исключением того, что поддержка параллельных сборок кажется намного более сложной.

Для поддержки параллелизма мы решили получить зарезервированные домены, скажем:

  • пользовательский домен
  • custom-domain2
  • custom-domain3

Я написал сценарий для проверки доступных доменов и использовал первый из доступных. Скрипт груб и полагается на завершение работы ngrok, когда мы пытаемся использовать уже используемый поддомен:

#!/bin/bash

wget https://dl.ngrok.com/ngrok_2.0.19_linux_amd64.zip
unzip ngrok_2.0.19_linux_amd64.zip
./ngrok authtoken <account_token>
./ngrok http -subdomain=custom-domain 5000 &
sleep 5
curl http://localhost:4040/status
if [[ $? -eq 0 ]]
then
  export HOST=custom-domain.ngrok.io
else
  ./ngrok http -subdomain=custom-domain2 5000 &
  sleep 5
  curl http://localhost:4040/status
  if [[ $? -eq 0 ]]
  then
    export HOST=custom-domain2.ngrok.io
  else
    ./ngrok http -subdomain=custom-domain3 5000 &
    sleep 5
    curl http://localhost:4040/status
    if [[ $? -eq 0 ]]
    then
      export HOST=custom-domain3.ngrok.io
    else
      exit 1
    fi
  fi
fi

Я попытался реорганизовать это, чтобы использовать клиентский API, но клиентский API смотрит только на localhost, он не знает о субдоменах, используемых где-либо еще в Интернете. То, что я ищу, кажется возможным, поскольку сам веб-сайт ngrok.io перечисляет поддомены, которые используются в данный момент, мне просто нужно выяснить, как они это делают? Пользуюсь версией 2.0.

При использовании метода сценария кажется, что он работает при использовании custom-domain, но при использовании 2 или 3 мы, кажется, получаем ошибки при POST подключении к конечной точке, и единственная подозрительная вещь в журналах:

(некоторые числа изменены)

t=2015-12-21T16:03:17+0000 lvl=warn msg="failed to open private leg" id=094b633d8754 privaddr=localhost:4567 err="dial tcp 127.0.0.1:4567: connection refused"


person Abe Petrillo    schedule 23.12.2015    source источник


Ответы (1)


REST API ngrok имеет конечную точку для вывода списка всех онлайн-туннелей.

Перечислить все онлайн-туннели, запущенные в данный момент в учетной записи.

person user2738058    schedule 08.04.2021
comment
Ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши друзья-пользователи имели некоторое представление о том, что это такое и почему. Всегда указывайте наиболее релевантную часть важной ссылки, если целевой сайт недоступен или постоянно отключен. - person jasie; 08.04.2021