Справочник по API
Доступные эндпоинты
Xray Checker предоставляет несколько HTTP-эндпоинтов для мониторинга и проверки статуса:
Эндпоинт проверки работоспособности
GET /healthПростой эндпоинт проверки работоспособности, который возвращает HTTP 200, если сервис работает.
Ответ:
- Статус:
200 OK - Тело:
OK
Эндпоинт метрик
GET /metricsЭндпоинт метрик Prometheus, предоставляющий подробную информацию о статусе прокси и задержках.
Ответ:
- Статус:
200 OK - Content-Type:
text/plain; version=0.0.4
Пример метрик:
# HELP xray_proxy_status Статус прокси-соединения (1: успешно, 0: неудача)# TYPE xray_proxy_status gaugexray_proxy_status{protocol="vless",address="example.com:443",name="proxy1"} 1
# HELP xray_proxy_latency_ms Задержка прокси-соединения в миллисекундах# TYPE xray_proxy_latency_ms gaugexray_proxy_latency_ms{protocol="vless",address="example.com:443",name="proxy1"} 156Эндпоинт статуса прокси
GET /config/{index}-{protocol}-{server}-{port}Эндпоинт статуса отдельного прокси, идеально подходит для мониторинга доступности.
Параметры:
index: Номер индекса проксиprotocol: Тип протокола (vless/vmess/trojan/shadowsocks)server: Адрес сервераport: Порт сервера
Ответ:
- Статус:
200 OKесли прокси работает - Статус:
503 Service Unavailableесли прокси не работает - Тело:
OKилиFailed
Пример:
# Проверка статуса конкретного проксиcurl http://localhost:2112/config/0-vless-example.com-443Веб-интерфейс
GET /Возвращает HTML-панель с обзором статуса прокси.
Аутентификация
При включении (METRICS_PROTECTED=true), эндпоинты защищены Basic Authentication:
- Имя пользователя: Настраивается через
METRICS_USERNAME - Пароль: Настраивается через
METRICS_PASSWORD
Пример с аутентификацией:
curl -u username:password http://localhost:2112/metricsПримеры интеграции
Uptime Kuma
# Добавить монитор с URLhttp://localhost:2112/config/0-vless-example.com-443
# Добавить аутентификацию, если включенаhttp://username:password@localhost:2112/config/0-vless-example.com-443Prometheus
scrape_configs: - job_name: "xray-checker" metrics_path: "/metrics" basic_auth: username: "username" password: "password" static_configs: - targets: ["localhost:2112"]Коды ошибок
API возвращает стандартные HTTP-коды статуса:
200 OK: Запрос успешен401 Unauthorized: Требуется аутентификация403 Forbidden: Ошибка аутентификации404 Not Found: Эндпоинт или прокси не найден503 Service Unavailable: Проверка прокси не удалась