Xray Checker
Модуль Xray Checker ставит внешний мониторинг нод: чекер живёт на отдельном сервере, забирает настоящую подписку из панели и проверяет каждый прокси так, как это делал бы обычный пользователь. Упавшая нода, сбой дата-центра или задыхающаяся сеть видны снаружи сразу, а статус-страница и Telegram-бот сообщают о них подписчикам.
Чекер
Ходит через каждый прокси подписки по расписанию и решает, жив ли хост.
Статус-страница
Публичная страница состояния by Mrvibecodic: аптайм хостов, инциденты, техработы.
Telegram-бот
Живёт в статус-странице: алерты о сбоях, инциденты, техработы и управление подписками.
Как это устроено
Заголовок раздела «Как это устроено»Подписку чекер получает одним из двух способов:
- Служебный пользователь (рекомендуется). Модуль создаёт в панели пользователя
xray-checker, подключает его ко внутренним группам и берёт его подписку: новые ноды попадают в мониторинг сами, без перестройки. - URL вручную. Подойдёт любая ссылка подписки
https://...; при изменении набора нод адрес придётся обновлять самому.
Каждый цикл чекер проходит прокси из подписки выбранным методом и пишет результат в метрики; статус-страница показывает историю, бот рассылает алерты.
Что понадобится
Заголовок раздела «Что понадобится»- Свободные порты
2112,8080и8081. - Docker: если его нет, модуль сам предложит установить серверные компоненты.
- Домен для публичной статус-страницы, например
status.example.com. Без домена страница доступна только с сервера или по SSH-туннелю.
Установка
Заголовок раздела «Установка»Выполните на сервере мониторинга:
remnawave_reverse-
В главном меню выберите пункт
5:REMNAWAVE REVERSE-PROXY by eGames Wiki: https://wiki.egam.es/ 4.Расширения ноды (шаблоны, плагины, ядро) 5.Xray Checker: мониторинг подписки 0.Выход Выберите действие (0-13):
-
Откроется меню модуля. Пока ничего не установлено, в нём один пункт:
Xray Checker Подробности в wiki: https://wiki.egam.es/ru/configuration/xray-checker Xray Checker: не установлен 1.Установить 0.Выход Выберите действие (0-1):
-
Установка начинается с красного напоминания про отдельный сервер, затем спрашивает состав:
Установка Xray Checker Мониторинг должен устанавливаться на отдельном сервере. Чекер проверяет ноды извне, как обычный пользователь, поэтому он сможет обнаружить и сбой самой ноды, и проблемы с дата-центром или сетью Состав установки 1.Чекер + статус-страница (рекомендуется) 2.Только чекер 0.Выход Выберите действие (0-2):
-
Выберите, какая страница будет публичной:
Какая страница будет публичной 1.Статус-страница by Mrvibecodic (рекомендуется) Telegram-бот: алерты, инциденты, техработы, управление подписками 2.Веб-интерфейс чекера by kutovoys Плитки прокси и метрики Prometheus за basic-auth (логин и пароль сгенерирую) 0.Выход Выберите действие (0-2):
-
Источник подписки. Если на этом сервере стоит панель со страницей подписки, доступно авто-подключение:
Источник подписки 1.Служебный пользователь «xray-checker» в панели (рекомендуется: подписка сама подхватывает новые ноды) 2.Указать URL подписки вручную 0.Выход Выберите действие (0-2): 1 [ * ] Создаю служебного пользователя «xray-checker» в панели... [ ✓ ] Пользователь «xray-checker» создан в панели. [ * ] Подключаю пользователя ко внутренним группам панели...
При ручном варианте модуль попросит
URL подписки (https://...):и проверит адрес. -
Настройка Telegram-бота: токен от @BotFather, ID администраторов и чатов для алертов. Каждый шаг можно пропустить Enter-ом, бот не обязателен:
Токен Telegram-бота для управления страницей (Enter - без бота, только страница): 7481203945:AAH3k2QvLpR9tXmZwYb5C1dE ID администраторов бота через запятую (например, 123456789): 123456789 ID чатов для алертов через запятую (можно пропустить - Enter): Проверяю токен бота... Отправляю тестовое сообщение первому админу... Бот отвечает.
-
Интервал проверки и метод:
Интервал проверки в секундах (по умолчанию 300): Метод проверки 1.IP: лёгкий запрос через каждый прокси (рекомендуется) 2.HTTP-статус: проверка кода ответа 3.Скачивание тестового файла (~1 МБ на каждый прокси за цикл!) 0.Выход Выберите действие (0-3): 1
-
Домен публичной страницы, затем установка проходит сама:
Домен статус-страницы by Mrvibecodic (например, status.example.com, Enter - только localhost): status.example.com [ * ] Пишу конфигурацию в /opt/xray-checker... [ * ] Скачиваю образы (Docker Hub / ghcr.io)... [ * ] Запускаю Xray Checker... [ * ] Жду ответа от контейнеров... [ ✓ ] Чекер отвечает на 127.0.0.1:2112. === Xray Checker готов === Статус-страница: https://status.example.com Подписка пользователя «xray-checker» подключена автоматически. Другие можно добавить ботом (/menu → Подписки), они заменят автоматическую. Подписка для бота: https://sub.example.com/d41d8cd98f00b204e9800998ecf8427e Напишите боту /start и /menu: управление страницей, алерты, инциденты, техработы.
Если тестовое сообщение боту не доставлено, это нормально для первого раза: Telegram запрещает ботам писать первыми. Напишите боту /start (затем /menu), после этого он сможет отвечать и присылать алерты.
Меню модуля
Заголовок раздела «Меню модуля»После установки меню показывает состояние, публичный адрес и авторов:
Xray Checker Подробности в wiki: https://wiki.egam.es/ru/configuration/xray-checker Xray Checker: работает Публичная страница: https://status.example.com Xray Checker by kutovoys (github.com/kutovoys/xray-checker) · статус-страница by Mrvibecodic (github.com/Mrvibecodic/xray-checker-statuspage) 1.Статус и последние логи 2.Перезапустить 3.Обновить образы 4.Настроить Telegram-бота 5.Удалить 0.Выход Выберите действие (0-5):
Пункт Опубликовать публичную страницу (домен) появляется, только пока страница живёт на localhost: после публикации он исчезает, а адрес переезжает в заголовок меню.
Статус и последние логи
Заголовок раздела «Статус и последние логи»=== Статус Xray Checker === Xray Checker: работает (127.0.0.1:2112) Состав: Чекер + статус-страница (рекомендуется) Статус-страница: работает (127.0.0.1:8080) Публичная страница: https://status.example.com Последние строки xray-checker: …
Telegram-бот
Заголовок раздела «Telegram-бот»Пункт Настроить Telegram-бота повторяет шаги из установки: новый токен, администраторы, чаты алертов. Если оставить токен пустым, модуль спросит, не убрать ли бота совсем: страница останется, управлять ей можно будет только через меню.
Обновление и удаление
Заголовок раздела «Обновление и удаление»Обновить образы подтягивает свежие версии чекера и страницы и перезапускает их; Перезапустить пересоздаёт контейнеры с сохранением данных страницы. Удаление стирает контейнеры и том статус-страницы вместе с историей и secret.key, а служебный пользователь xray-checker остаётся в панели:
[ * ] Обновляю образы... [ ✓ ] Образы обновлены, Xray Checker перезапущен.
Удалить Xray Checker? Контейнеры и том статус-страницы (история, secret.key) будут стёрты, а пользователь «xray-checker» останется в панели (y/n): y [ * ] Удаляю... [ ✓ ] Xray Checker удалён.
Методы проверки
Заголовок раздела «Методы проверки»- IP (по умолчанию): лёгкий запрос через прокси, проверяется смена адреса выхода. Самый дешёвый способ, но только для чекера на отдельном сервере: рядом с нодой он вечно пометит её упавшей, и модуль сразу предупредит об этом.
- HTTP-статус: через прокси запрашивается страница и проверяется код ответа. Работает при любой раскладке серверов.
- Скачивание: качает тестовый файл около 1 МБ через каждый прокси каждый цикл. Самая честная проверка канала, но следите за трафиком.
При установке на сервере с нодой модуль отмечает «IP» предупреждением и рекомендует «HTTP-статус».
