Справочник по 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-443
Prometheus
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
: Проверка прокси не удалась