Обзор
Grace access — временный урезанный доступ для подписок, которые только что перешли вexpired (закончился срок) или limited (закончился трафик). Человек не остаётся полностью без связи и успевает продлиться, а не уходит к конкуренту в тот же вечер.
Подсистема появилась в v3.65.0 и была упрощена в v3.66.0.
Биллинг остаётся источником истины. Grace — это временный оверлей в Remnawave и отдельная запись сессии. Подсистема никогда не меняет даты и статус подписки в биллинге и никогда не обнуляет использованный трафик.
Как это работает
1
Обнаружение
Фоновый цикл ищет подписки, недавно перешедшие в
expired или limited. Глубина поиска назад по времени — GRACE_ACCESS_CANDIDATE_LOOKBACK_MINUTES.2
Проверка права на grace
Подписка должна подходить по типу (см. Кому выдаётся) и не иметь уже открытой сессии.
3
Наложение оверлея
В панели пользователю выставляется сквад grace и квота
GRACE_ACCESS_TRAFFIC_GB. Прежнее состояние сохраняется в версионированном снимке.4
Окно доступа
Сессия живёт
GRACE_ACCESS_DURATION_HOURS часов. Всё это время пользователь может продлиться обычным способом.5
Восстановление
По оплате, по истечении окна или по отзыву панельное состояние возвращается из снимка методом compare-and-set — чужие изменения, сделанные администратором вручную, не затираются.
Режимы работы
GRACE_ACCESS_MODE принимает четыре значения:
Кому выдаётся
ПриGRACE_ACCESS_MODE=true доступ получают обычные платные несуточные подписки. Остальные категории включаются отдельно:
Настройка
Сквады
Заведите в Remnawave отдельные сквады под grace и укажите их UUID:GRACE_ACCESS_EXPIRED_SQUAD_UUID— для подписок, у которых закончился срок;GRACE_ACCESS_LIMITED_SQUAD_UUID— для подписок, у которых закончился трафик.
Если UUID не задан, подписки этой категории grace не получают — сквад для оверлея обязателен.
Жизненный цикл сессии
Причина закрытия фиксируется отдельно:
Ограничения
Grace не продлевает подписку
Grace не продлевает подписку
Даты и статус подписки в биллинге не меняются. Пользователь всё это время формально остаётся без активной подписки — grace только даёт временный канал связи.
Использованный трафик не обнуляется
Использованный трафик не обнуляется
Квота
GRACE_ACCESS_TRAFFIC_GB — это то, что реально доступно во время окна, а не сброс счётчика подписки.Панель может не принять переход сразу
Панель может не принять переход сразу
Если Remnawave недоступна, сессия остаётся в
pending и будет доведена фоновой сверкой. Сверка идёт раз в GRACE_ACCESS_RECONCILE_INTERVAL_SECONDS секунд батчами по GRACE_ACCESS_RECONCILE_BATCH_SIZE.Связанные разделы
Подписки
Статусы подписок и жизненный цикл
Remnawave
Сквады, синхронизация и панельная идентичность
