Files
mtproxy_checker/README.md
T
Denozordec e3049028cd
Publish mtproxy_checker Docker image / test (push) Successful in 6s
Publish mtproxy_checker Docker image / build-and-push (push) Successful in 51s
Update README and Docker documentation to clarify exit codes and error handling. Introduce new error for no data received after MTProxy header in checker logic.
2026-04-11 01:35:37 +07:00

32 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# mtproxy_checker
Проверка **MTProto MTProxy** на Go: не ICMP ping, а TCP + протокол (для `ee` — Fake-TLS, затем первый кадр MTProxy; для `dd` — сразу MTProxy Randomized Intermediate).
## Сборка
```powershell
go build -o mtproxy_checker.exe ./cmd/mtproxy_checker
```
## Запуск
```powershell
.\mtproxy_checker.exe "tg://proxy?server=HOST&port=PORT&secret=HEX"
```
или
```powershell
.\mtproxy_checker.exe --server HOST --port PORT --secret HEX
```
Флаги: `-timeout` (по умолчанию 15s), `-dc-id` (по умолчанию 2).
Код выхода: `0` — OK (после рукопожатия от прокси получен хотя бы один байт данных), `1` — ошибка (в т.ч. «тишина» после MTProxy-заголовка), `2` — неверные аргументы, `3` — прокси закрыл соединение после проверки, `4` — таймаут.
**Docker:** [docs/docker.ru.md](docs/docker.ru.md) — один образ: **с аргументами** после образа — CLI; **без аргументов** — HTTP API (файл со списком `tg://`, интервал, опциональный whitelist IP).
### Если в Telegram прокси «Available», а утилита падает на `read server hello`
Для `ee` в TLS SNI должен идти **только ASCII hostname** из хвоста секрета; в коде это `SNIDomain`. Ответ сервера читается по схеме из Telegram Desktop (`mtproto_tls_socket`), а не по старому фиксированному формату telethon.