Files

1.6 KiB

TDLib helper для mtproxy_checkerd (Node.js)

Предпочтительный вариант — нативный tdlib_ping в корне репозитория (cmd/tdlib_ping, libtdjson, официальный JSON API TDLib). Этот каталог остаётся как legacy на Node + prebuilt-tdlib, если так удобнее в образе.

Внешний процесс: TDLib (addProxy + pingProxy), как в telegram-mtproto-proxy-checker. В stdout печатается одна строка JSON — её парсит mtproxy_checkerd.

Установка

cd contrib/tdlib-ping
npm install

Запуск вручную

node ping.js 'tg://proxy?server=HOST&port=PORT&secret=HEX'

Успех: строка {"ok":true,"error":"","exit_code":0} и код выхода 0.
Ошибка секрета: exit_code 1.
Прочие ошибки: exit_code 2 (или 4 при таймауте внутри скрипта).

Docker

Базовый образ mtproxy_checker остаётся без Node/TDLib. Соберите свой слой: установите Node 18+, скопируйте contrib/tdlib-ping, выполните npm install, задайте:

MTPROXY_TDLIB_HELPER=/usr/local/bin/mtproxy-tdlib-ping
MTPROXY_TDLIB_TIMEOUT=45s

Обёртка-скрипт mtproxy-tdlib-ping:

#!/bin/sh
exec node /opt/tdlib-ping/ping.js "$1"

TDLib проверка выполняется только при MTPROXY_PROBE=fast (или пусто).