Skip to content

Device Guard

Детектор шеринга подписок. HWID-лимит панели держит честных пользователей — устройство сверх лимита просто не подключится. Device Guard ловит тех, кто делится в обход: раз в 20 минут он собирает онлайн-IP каждой подписки по всем нодам и сравнивает их число с лимитом устройств тарифа.

Как работает скан

Фоновая задача device_guard_scan запускается каждые 20 минут и:

  1. Берёт все ноды со статусом ONLINE и через ip-control API панели запрашивает по каждой список «пользователь → онлайн-IP» (панель считает это фоновой джобой; результат опрашивается до 10 раз с паузой 2 секунды).
  2. Агрегирует уникальные IP по каждой подписке суммарно по всем нодам.
  3. Сравнивает с лимитом: device_limit тарифа подписки, а если у тарифа лимита нет — значение DEVICE_GUARD_MAX_IPS (0 — такие подписки не проверяются). К лимиту добавляется допуск DEVICE_GUARD_TOLERANCE.
  4. По каждому нарушению применяет настроенное действие и шлёт алерт в отчётный топик «alerts»: номер подписки, клиент, тариф, лимит, список IP (до 10) и применённое действие.

Недоступная нода просто пропускается — скан продолжает по остальным. Один и тот же нарушитель не заспамит топик: алерт по подписке уходит не чаще раза в сутки (Redis-кулдаун).

Три режима реакции

DEVICE_GUARD_ACTIONЧто происходит
alert (по умолчанию)Только алерт админам — вы смотрите и решаете сами
dropАлерт + принудительный разрыв живых соединений подписки на панели
disableАлерт + отключение panel-юзера; подписка переводится в статус disabled, клиенту в личку уходит «⚠️ Подписка приостановлена: замечено одновременное использование на слишком многих устройствах»

Если действие drop/disable не удалось выполнить на панели (панель недоступна, юзер не найден), нарушение фиксируется как alert — вы всё равно узнаете о нём из топика.

Настройки

Категория «Безопасность» в настройках кабинета:

ПараметрПо умолчаниюЧто это
DEVICE_GUARD_ENABLEDвыклВключить скан
DEVICE_GUARD_MAX_IPS0Лимит IP для подписок без лимита устройств в тарифе; 0 — такие не проверять
DEVICE_GUARD_TOLERANCE1Запас сверх лимита, прежде чем считать шерингом
DEVICE_GUARD_ACTIONalertРеакция: alert / drop / disable

Зачем нужен допуск

Один человек легально даёт больше одного IP: телефон переключился с Wi-Fi на LTE, CGNAT у оператора, ноутбук + телефон в разных сетях. Допуск 1 съедает этот шум. Ужесточайте только если уверены в аудитории.

Начинайте с alert

Включайте Guard в режиме alert и неделю смотрите на алерты: сколько срабатываний, похожи ли они на реальный шеринг. Переходить на drop/disable стоит только после того, как поймёте картину — автоматическое отключение честного клиента дороже, чем один шерящий.

MIT License · сделано для тех, кто продаёт VPN, а не настраивает ботов