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 (или пусто).