Перейти к содержимому

Подписки и правила ответов

Правила ответов решают, что панель отдаёт на каждый запрос подписки. Приложению клиента нужен конфиг, браузеру достаточно красивой страницы, а чужому скрипту, который перебирает украденные ссылки, лучше всего получить 404 и уйти ни с чем. Модуль показывает текущее состояние одним экраном, применяет готовые наборы правил и включает привязку подписки к устройствам. Всё меняется через API панели, конфиги вручную править не нужно.

Готовые наборы правил

«Клиенты и браузеры» для обычной установки, строгий «Happ и INCY + устройства» для продажи подписок, «Разрешить всех» одним правилом для отката.

Привязка устройств

Happ, INCY, FlClashX, Koala Clash и Prizrak-Box сообщают панели идентификатор устройства. С лимитом устройств слитая ссылка перестаёт работать на чужих телефонах: они получают отказ вместо конфигов.

Резервные копии

Перед каждой заменой правил текущий набор сохраняется в файл. Хранятся десять последних копий, любую можно вернуть из того же меню.

Панель оценивает каждый запрос подписки по заголовкам: какое приложение его прислало и с какого устройства. Правило состоит из условий по заголовкам и типа ответа. Правила проверяются по порядку сверху вниз, срабатывает первое подходящее, и его тип ответа уходит клиенту.

Правила ответовпервое подходящее правило решаетHapp/INCY + x-hwidизвестные приложенияMozilla в user-agentне подошло ни одноHapp · INCYx-hwid: устройствоДругие приложенияv2rayN · V2Box…Браузероткрывает ссылкуЧужой запросперебор ссылокXray JSONполный конфигBase64список серверовСтраница подпискиHTML404как будто ничего нетЛимит устройств · N устройствпанель читает заголовки запроса и отвечает по первому подходящему правилу

Привязка устройств работает рядом с правилами. Happ и INCY передают панели заголовок x-hwid с идентификатором устройства. Когда лимит включён, подписка выдаётся не больше чем N устройствам одного пользователя, остальные получают вежливое сообщение вместо конфигов. Список занятых мест виден в карточке пользователя в панели, потерянное устройство оттуда можно удалить и освободить слот. Отдельным пользователям лимит можно поменять или отключить персонально, это делается в панели.

Всё хранится в панели, те же настройки доступны в её веб-интерфейсе в разделе подписок. Модуль лишь удобная обёртка: меняет значения через API, показывает результат и хранит копии. Если вы пользуетесь внешними группами панели, учтите, что правила ответов главнее их настроек.

Тип ответа в правиле решает, что именно получит клиент. Наборы правил модуля используют часть типов, свои правила в панели можно собрать из полного списка.

Тип ответа Что получает клиент
Xray JSON Полный конфиг Xray одним файлом, с правилами маршрутизации. Так работают Happ, INCY и v2rayN
Base64 Базовый список серверов в кодировке Base64. Его понимает любое приложение, это безопасный выбор по умолчанию
Mihomo, Clash, Stash, Sing-box Конфиг в формате конкретного семейства клиентов
Страница в браузере HTML-страница подписки со списком серверов и инструкциями
Блок 403, 404, 451 Пустой отказ. Для чужих запросов 404 выглядит естественнее всего: будто по этому адресу ничего и не было
Обрыв соединения Панель молча разрывает соединение, без кода ответа
  1. Откройте пункт 5 «Подписки: правила и страница» главного меню и выберите «Подписки и правила ответов»:

    root@server: ~
    REMNAWAVE REVERSE-PROXY by eGames
    Версия: 3.8.1
    Wiki: https://wiki.egam.es/
    
    5.Подписки: правила и страница
    
    6.WARP Native
    
    8.Xray Checker: мониторинг подписки
    0.Выход
    
    Выберите действие (0-13):5
    root@server: ~
    Подписки: правила и страница
    
    1.Подписки и правила ответов
        какой конфиг получит каждый клиент, лимит устройств, JSON и пути
    2.Страница подписки
        шаблон Orion и возврат стандартной страницы
    
    0.Выход
    
    Выберите действие (0-2):1
  2. Модуль сразу показывает состояние: какие правила работают, включён ли лимит устройств, что отдаётся на базовом пути. Ниже действия:

    root@server: ~
    Подписки и правила ответов
     Подробности в wiki: https://wiki.egam.es/ru/configuration/subscription-rules/
    
     Правила ответов: не настроены
       свежие версии панели без правил отвечают 403 на запросы подписки, примените пресет ниже
     ✗ Лимит устройств (HWID): выключен
     JSON на базовом пути подписки: выключен
     Доп. пути /json, /stash, /mihomo: открыты
    
    1.Показать правила подробно
    2.Пресет «Клиенты и браузеры»
        браузер получает страницу подписки, все приложения получают конфиги Base64
    3.Пресет «Строгий: Happ и INCY + устройства»
        конфиги получают только Happ/INCY с привязкой устройства и известные приложения, остальным возвращается 404
    4.Разрешить всех одним правилом
    5.Лимит устройств (HWID): включить
    6.JSON на базовом пути: включить
    7.Доп. пути /json, /stash, /mihomo: закрыть
    8.Восстановить сохранённые правила
    
    0.Выход
    
    Выберите действие (0-8):2
  3. Пресет «Клиенты и браузеры» подходит большинству установок: браузер получает страницу подписки, все приложения получают конфиги в формате Base64, который понимает каждый клиент:

    root@server: ~
    [?] Заменить текущие правила (0 шт.) на пресет «Клиенты и браузеры» из 2 правил? Текущие правила будут сохранены в файл. (y/n):y
    Текущие правила сохранены: rules-20261009-143210.json
    Пресет применён
     Изменения вступают в силу сразу, приложения увидят их при следующем обновлении подписки.
  4. Экран состояния обновился. Пункт 1 показывает каждое правило с условиями:

    root@server: ~
     Правила ответов: 2
       1. ✓ Браузеры → страница в браузере
       2. ✓ Все остальные → Base64
     ✗ Лимит устройств (HWID): выключен
    
    Выберите действие (0-8):1
    
     ✓ 1. Браузеры [AND → страница в браузере]
       user-agent CONTAINS "Mozilla"  (без учёта регистра)
     ✓ 2. Все остальные [AND → Base64]
       условий нет, правило подходит любому запросу
    
    Нажмите любую клавишу, чтобы вернуться…

Пресет «Строгий: Happ и INCY + устройства» рассчитан на продажу подписок. Он отдаёт конфиги только проверенным запросам, а всем остальным возвращает 404. Набор правил выглядит так:

Кто спрашивает Условие Что получает
Happ и INCY user-agent начинается с Happ/ или INCY/, есть корректный x-hwid Полный конфиг Xray JSON
Клиенты Clash user-agent начинается с FlClashX/, koala-clash/, prizrak-box/, rabbithole/, clash-mi/ или ClodClash/, есть корректный x-hwid Конфиг Mihomo под ядро Clash
Karing и InHive user-agent начинается с Karing/ или InHive/, есть корректный x-hwid Конфиг Sing-box
Известные приложения user-agent начинается с названия из списка: v2rayN, v2rayNG, V2Box, Streisand, sing-box, Karing, FlClash, Flowvy, prizrak-box, Koala Clash, Clod Clash, sfa, sfi, sfm, sft, rabbithole Список Base64
Браузер user-agent содержит Mozilla Страницу подписки
Все остальные условий нет 404
root@server: ~
 Правила ответов: 6
   1. ✓ Клиенты Xray JSON с устройством → Xray JSON
   2. ✓ Клиенты Clash с устройством   → Mihomo
   3. ✓ Karing и InHive с устройством → Sing-box
   4. ✓ Известные приложения          → Base64
   5. ✓ Браузеры → страница в браузере
   6. ✓ Все остальные → 404

Строгий пресет имеет смысл включать вместе с лимитом устройств: тогда украденная ссылка бесполезна даже с подменённым названием приложения, потому что чужое устройство не пройдёт лимит. Клиенты Clash и Sing-box, RenoarX, Happ и INCY сообщают панели идентификатор устройства: со включённым лимитом они проходят проверку и получают конфиг в своём формате.

Включается пунктом 5. Панель спросит допустимое число устройств на пользователя и покажет предупреждение:

root@server: ~
[?] Лимит устройств на пользователя (1-20, Enter подставит 3):3
Клиенты без заголовка x-hwid (v2rayN, v2rayNG, FlClash, Stash) не смогут получить подписку. Таким пользователям лимит отключается в панели персонально.
[?] Включить лимит устройств: до 3 на пользователя? (y/n):y
Лимит устройств включён: до 3 на пользователя
 Изменения вступают в силу сразу, приложения увидят их при следующем обновлении подписки.

Что панель знает об устройстве:

Заголовок Что содержит Пример
x-hwid Идентификатор устройства, обязательный для лимита UE42LJXu4DbiCaBv
x-device-os Система устройства iOS или Android
x-ver-os Версия системы 18.3
x-device-model Модель устройства iPhone 14 Pro Max

Happ, INCY, RenoarX, DeskBox, v2RayTun, Flowvy, Clod Clash и клиенты Clash присылают эти заголовки сами. Throne, Shadowrocket, Clash Mi и Karing тоже поддерживают привязку, но шлют заголовок только после её включения в настройках приложения. Без заголовка остаются v2rayN, v2rayNG, FlClash, Stash и официальный sing-box: с включённым лимитом их владельцы подписку не получат. Такому пользователю лимит отключается персонально в карточке в панели, на остальных ограничение продолжит действовать.

Лимит считается по разным устройствам. Если пользователь сменил телефон и старый занимает слот, лишнее устройство удаляется из списка в карточке, и новое сразу проходит.

Перед каждой заменой правил модуль кладёт текущий набор в /usr/local/remnawave_reverse/subscription-rules/ с отметкой времени. Пункт 8 показывает копии списком, выбранная возвращается на панель, а состояние на момент восстановления тоже сохраняется. Хранятся десять последних копий.

root@server: ~
Восстановление правил из копии

1.2026-10-09 14:32:10 · правил: 4
2.2026-10-09 14:20:03 · правил: 2

0.Выход

Выберите действие (0-2):1

[?] Восстановить правила из rules-20261009-143210.json (4 правил)? (y/n):y
Текущие правила сохранены: rules-20261009-144502.json
Правила восстановлены