PortChecker API

Статус документа

Оглавление

Общая информация

Данный API предназначен для определения на клиентской стороне возможности принимать входящие соединения из интернета.

Окончательное решение о доступности входящих соединений принимает клиент, сервер выступает вспомогательной стороной для отправки данных клиенту.

Поиск сервера, работающего по данному API производится через Регистратуру, при этом предпочтение клиент должен отдавать портчекеру, принадлежащему текущему оператора связи клиента. Это нужно для снижения нагрузки на сервера Инетры, а также для определения возможности принять входящие соединения внутри оператора связи для абонентов с частными IP адресами.

Методы

/checkport/

Параметры:

На сервер посылается запрос http://server.name/checkport/. Параметры (передаются GET-запросом):

Имя Значение Смысл
proto udp, tcp протокол, который использовать для соединения
port число числовое значение порта
data непустая строка значение, которое надо передать клиенту

При получении такого запроса сервер отсылает на порт (port) используя протокол (proto) декодированные данные (data). Таймаут на отправку запроса задается в конфигурации сервера.

В ответ сервер отправляет JSON-ответ с полями:

Поле Обязательное Значение
ip да IP адрес, с которого сервер получил запрос
error нет описание ошибки, если она случилась (неверно заданы параметры)

Клиент при проверке порта ожидает получения указанной строки и входит в активный режим только если получены те же данные, что и отправлялись, для всех портов. В противном случае клиент остается в пассивном режиме.

История изменений

Версия 2.1