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.
This commit is contained in:
+4
-3
@@ -60,7 +60,7 @@ docker run -d --name mtproxy-api --restart unless-stopped -p 8080:8080 `
|
||||
| GET | `/health` | `200`, `{"status":"ok"}` |
|
||||
| GET | `/api/v1/proxies` | `200`, JSON с полями `cycle_finished_at`, `next_check_after`, массив `proxies` |
|
||||
|
||||
Элемент `proxies[]`: `raw_line`, при успешном разборе — `url`, `ok`, `exit_code` (`0` OK, `1` ошибка проверки, `2` ошибка разбора URL/секрета, `3` прокси закрыл соединение, `4` таймаут), `error`, при необходимости `parse_error`, `checked_at`.
|
||||
Элемент `proxies[]`: `raw_line`, при успешном разборе — `url`, `ok`, `exit_code` (`0` OK — после отправки MTProxy-заголовка прочитан хотя бы один байт от сервера; `1` ошибка проверки, в т.ч. если за окно ожидания **нет ни одного байта** ответа; `2` ошибка разбора URL/секрета; `3` прокси закрыл соединение; `4` таймаут всего запроса), `error`, при необходимости `parse_error`, `checked_at`.
|
||||
|
||||
### Whitelist IP и Docker
|
||||
|
||||
@@ -280,8 +280,8 @@ docker run --rm registry.example.com/owner/mtproxy_checker:latest \
|
||||
|
||||
| Код | Значение |
|
||||
|-----|----------|
|
||||
| 0 | Проверка прошла |
|
||||
| 1 | Ошибка (сеть, протокол, неверный ответ) |
|
||||
| 0 | Проверка прошла: после MTProxy-заголовка получен хотя бы один байт от прокси |
|
||||
| 1 | Ошибка (сеть, протокол, неверный ответ; в т.ч. **нет данных** от прокси после заголовка за окно ожидания) |
|
||||
| 2 | Неверные аргументы CLI |
|
||||
| 3 | Прокси закрыл TCP сразу после начального payload |
|
||||
| 4 | Общий таймаут (`-timeout`) |
|
||||
@@ -292,6 +292,7 @@ docker run --rm registry.example.com/owner/mtproxy_checker:latest \
|
||||
|
||||
- `connection refused` — порт закрыт или фильтр.
|
||||
- `FAIL: timeout` — нет ответа за `-timeout`.
|
||||
- `no data from proxy after mtproxy header` — рукопожатие прошло, но прокси не прислал ни одного байта в фазе после заголовка (часто совпадает с «Недоступен» в клиенте Telegram).
|
||||
- Ошибки чтения/проверки ServerHello — несовместимый ответ или обрыв соединения.
|
||||
|
||||
Для отладки без `--rm` можно посмотреть логи контейнера по id; с `--rm` контейнер удаляется сразу после выхода.
|
||||
|
||||
Reference in New Issue
Block a user