Repolode
quyxishi

quyxishi/whitebox

Prometheus exporter проверяет доступность внешних VPN-сервисов по VMESS, VLESS, Trojan, WireGuard, AmneziaWG, Shadowsocks и Hysteria2.

Звёзды
162
Форки
14
Открытые issues
1
Последний коммит
6 дней назад

Что это?

whitebox — это Prometheus exporter для проверки доступности внешних VPN-сервисов. Ему передают URI VPN-подключения и целевой URL; он поднимает через VPN туннель, запрашивает целевой адрес и возвращает результат в виде метрик Prometheus: успешность запроса, HTTP-статус, время на каждом этапе и размер ответа.

Поддерживаются протоколы VMESS, VLESS, Trojan, WireGuard, AmneziaWG, Shadowsocks и Hysteria2. Проверки можно запускать по запросу через REST endpoint, планировать в Prometheus по схеме multi-target exporter или вызывать из cron с помощью curl. В YAML-файле конфигурации можно задать именованные области проверки, таймауты, тела запросов, пользовательские заголовки и правила валидации fail_if; конфигурация перезагружается по SIGHUP.

Exporter повторно использует запущенные экземпляры xray для разных проверок, чтобы ограничить потребление памяти, и публикует статистику собственного кеша на /metrics. Он поставляется в виде Docker-образа и включает пример стека с Prometheus, blackbox_exporter и Grafana.

Ключевые возможности

  • 01Проверяет туннели по протоколам VMESS, VLESS, Trojan, WireGuard, AmneziaWG, Shadowsocks и Hysteria2.
  • 02Публикует результаты проверок в виде метрик Prometheus, включая успешность, код статуса и время на каждом этапе.
  • 03Предоставляет REST endpoint /probe для проверок по запросу или расписанию.
  • 04Поддерживает области проверки в YAML с таймаутами, телами запросов, заголовками и правилами валидации ответов.
  • 05Перезагружает конфигурацию по SIGHUP без перезапуска.
  • 06Повторно использует экземпляры xray для разных проверок и публикует метрики кеша.

Сценарии использования

  • Мониторинг доступности собственных или сторонних VPN-узлов в Prometheus и Grafana.
  • Запуск регулярных проверок доступности для набора URI VPN-подключений.
  • Разовая быстрая проверка, может ли VPN-подключение открыть заданный URL.

Быстрый старт

  1. 1

    Запустите предварительно собранный образ Docker

    docker run --rm -d --name whitebox -p 9116:9116 rxyvea/whitebox:latest
  2. 2

    Проверьте цель через URI VPN-подключения

    curl -sG http://localhost:9116/probe --data-urlencode 'ctx=vless://c9f5228c-8870-47bd-a92f-9b38c7c02b08@1.2.3.4:443?type=tcp&encryption=none&security=reality&pbk=DF-3KL2W4RuNB2HgsEDmLqHLvvTTN4_QfwUCUn8Uhy0&fp=firefox&sni=ce-cdn.icloud-content.com&sid=620352b7&spx=%2F&flow=xtls-rprx-vision' --data-urlencode 'target=https://google.com'

Что важно знать

  • Для проверки каждой цели требуется действующий URI VPN-подключения, поэтому данные собственного VPN-сервера нужно предоставить самостоятельно.
  • Использование памяти может неограниченно расти, если не включить кэш экземпляров xray или не установить ограничение памяти для контейнера.

Темы

Частые вопросы

Что такое whitebox?
Prometheus exporter проверяет доступность внешних VPN-сервисов по VMESS, VLESS, Trojan, WireGuard, AmneziaWG, Shadowsocks и Hysteria2. whitebox — это Prometheus exporter для проверки доступности внешних VPN-сервисов. Ему передают URI VPN-подключения и целевой URL; он поднимает через VPN туннель, запрашивает целевой адрес и возвращает результат в виде метрик Prometheus: успешность запроса, HTTP-статус, время на каждом этапе и размер ответа.
whitebox можно использовать бесплатно? Какая у него лицензия?
whitebox распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
whitebox всё ещё поддерживается?
Активно поддерживается. Последний коммит в whitebox — 14 окт. 2026 г..
Для чего можно использовать whitebox?
Мониторинг доступности собственных или сторонних VPN-узлов в Prometheus и Grafana. Запуск регулярных проверок доступности для набора URI VPN-подключений. Разовая быстрая проверка, может ли VPN-подключение открыть заданный URL.
Как установить whitebox?
Запустите предварительно собранный образ Docker: docker run --rm -d --name whitebox -p 9116:9116 rxyvea/whitebox:latest Проверьте цель через URI VPN-подключения: curl -sG http://localhost:9116/probe --data-urlencode 'ctx=vless://c9f5228c-8870-47bd-a92f-9b38c7c02b08@1.2.3.4:443?type=tcp&encryption=none&security=reality&pbk=DF-3KL2W4RuNB2HgsEDmLqHLvvTTN4_QfwUCUn8Uhy0&fp=firefox&sni=ce-cdn.icloud-content.com&sid=620352b7&spx=%2F&flow=xtls-rprx-vision' --data-urlencode 'target=https://google.com'
Где скачать whitebox?
Исходный код и инструкции по установке — на GitHub: https://github.com/quyxishi/whitebox

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты