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

Поддерживаемые заголовки

При загрузке удалённой подписки Prizrak-Box считывает определённые HTTP-заголовки ответа от сервера. Эти заголовки позволяют провайдерам подписок управлять метаданными профиля, отображением трафика, автоматическим обновлением, логотипом, объявлениями и другим.

Заголовки нечувствительны к регистру. Неизвестные заголовки игнорируются без ошибок.


Profile-Title Remnawave

Отображаемое имя подписки в Prizrak-Box.

Пример заголовка Profile-Title

СвойствоЗначение
Типstring
КодировкаUTF-8 или Base64 (префикс base64:)

Пример:

Profile-Title: Моя VPN подписка
Profile-Title: base64:TW9yIFZQTiDQv9C+0LTQv9C40YHQutCw

Если Profile-Title отсутствует, приложение использует имя файла из заголовка Content-Disposition, затем генерирует имя вида Sub-2024-01-01.

Profile-Logo

URL изображения для логотипа подписки в приложении.

Пример заголовка Profile-Logo

СвойствоЗначение
Типstring (URL)
Поддерживаемые форматыPNG, SVG
Максимальный размер2 МБ
Разрешённые схемыhttp, https

Пример:

Profile-Logo: https://example.com/logo.png

Логотип загружается при получении подписки и кешируется локально. Пустой или недействительный URL удаляет кешированный логотип.

Content-Disposition Remnawave

Используется как запасной источник названия профиля, если Profile-Title отсутствует.

СвойствоЗначение
Типstring
Разбираемое полепараметр filename

Пример:

Content-Disposition: attachment; filename="my-vpn.yaml"

Значение filename (без расширения) становится названием профиля, если Profile-Title не задан.


Subscription-Userinfo Remnawave

Статистика использования трафика, отображаемая в карточке профиля.

Пример заголовка Subscription-Userinfo

СвойствоЗначение
Типstring (пары ключ=значение через точку с запятой)
Поляupload, download, total, expire
ЕдиницыБайты (для трафика), Unix timestamp (для expire)

Пример:

Subscription-Userinfo: upload=1073741824; download=5368709120; total=107374182400; expire=1893456000
ПолеОписание
uploadБайт выгружено
downloadБайт загружено
totalОбщая квота трафика в байтах
expireВремя истечения как Unix timestamp

Profile-Update-Interval Remnawave

Задаёт интервал автоматического обновления подписки.

СвойствоЗначение
Типinteger
ЕдиницаЧасы

Пример:

Profile-Update-Interval: 24

При наличии этого заголовка Prizrak-Box автоматически обновляет подписку с заданным интервалом в часах.


Profile-Web-Page-Url Remnawave

URL главной страницы или портала провайдера подписки.

СвойствоЗначение
Типstring (URL)

Пример:

Profile-Web-Page-Url: https://myvpn.example.com

Отображается в деталях профиля как кликабельная ссылка.

Support-Url Remnawave

URL службы поддержки или контактов (например, Telegram-канал, служба помощи).

СвойствоЗначение
Типstring (URL)

Пример:

Support-Url: https://t.me/myvpn_support

Отображается рядом с профилем для обращения в поддержку.

Subscription-Renew-Url

Прямая ссылка на страницу продления/оплаты подписки.

СвойствоЗначение
Типstring (URL)

Пример:

Subscription-Renew-Url: https://myvpn.example.com/renew?id=abc123

При наличии заголовка приложение показывает точку входа «Продлить подписку» в нескольких местах: в редакторе профиля, значком рядом с профилем в главном окне и в списке профилей, а также — когда сейчас пройден один из порогов Notify-Expire-Days/Notify-Traffic-Percent (см. ниже) — кнопкой на всю ширину карточки профиля. Без заголовка ничего из этого не показывается, профиль работает как обычно.


Эти заголовки настраивают клиентские напоминания о приближающемся или наступившем истечении подписки, а также о расходе трафика — показываются как нативные уведомления ОС, а пока порог пройден — ещё и кнопкой «Продлить подписку» под карточкой профиля (см. Subscription-Renew-Url выше).

Notify-Expire-Days

Пороги «за сколько дней до истечения подписки напомнить».

СвойствоЗначение
Типstring (список целых чисел через запятую)
Диапазон1–365 (значения вне диапазона отбрасываются)

Пример:

Notify-Expire-Days: 1,3,7
Notify-Traffic-Percent

Пороги «на каком проценте использованного трафика напомнить».

СвойствоЗначение
Типstring (список целых чисел через запятую)
Диапазон1–100

Пример:

Notify-Traffic-Percent: 80,90,100
Notification-Subs-Expire

Упрощённый вариант для панелей, которые не хотят указывать конкретные дни (некоторые панели в стиле Happ отправляют только этот заголовок).

СвойствоЗначение
Типstring (boolean)
Значенияtrue

Пример:

Notification-Subs-Expire: true

Если значение true, а Notify-Expire-Days при этом отсутствует, приложение включает напоминания об истечении с зашитыми по умолчанию порогами 1, 3 и 7 дней.


Announce Remnawave

Текстовое объявление, отображаемое в приложении как баннер на карточке профиля.

Пример заголовка Announce

СвойствоЗначение
Типstring
Максимальная длина200 символов
КодировкаUTF-8 или Base64 (префикс base64:)

Примеры:

Announce: Техническое обслуживание в субботу 02:00–04:00 UTC
Announce: base64:0KLQtdGF0L3QuNGH0LXRgdC60L7QtSDQvtCx0YHQu9GD0LbQuNCy0LDQvdC40LU=
Announce-Url

URL, на который ссылается баннер объявления.

СвойствоЗначение
Типstring (URL)

Пример:

Announce-Url: https://status.myvpn.example.com

Нажатие на баннер объявления в приложении открывает этот URL.


Эти заголовки реализуют миграцию URL подписки — провайдеры могут перенести подписку на новый адрес без ручного обновления URL пользователями.

new-url

Указывает клиенту заменить весь URL подписки на новый.

СвойствоЗначение
Типstring (полный URL)
ПриоритетНаивысший — имеет приоритет над new-domain
ПереходыМаксимум 3 последовательные миграции

Пример:

new-url: https://new.example.com/subscription/abc123

После получения этого заголовка Prizrak-Box немедленно сохраняет новый URL и выполняет повторную загрузку с него. Исходный URL навсегда заменяется в профиле.

new-domain

Указывает клиенту заменить только хост URL подписки, сохраняя путь и строку запроса.

СвойствоЗначение
Типstring (только хост, без схемы и пути)
Пример значенияnew.example.com или new.example.com:8443

Пример:

new-domain: cdn.example.com

Если текущий URL подписки — https://old.example.com/sub/abc, результат будет https://cdn.example.com/sub/abc.

fallback-url

Альтернативный полный URL для использования, если основной URL подписки недоступен (не-2xx или ошибка соединения).

СвойствоЗначение
Типstring (полный URL)
СохранениеДа — записывается в профиль для будущих запросов

Пример:

fallback-url: https://backup.example.com/subscription/abc123

Prizrak-Box сначала пробует основной URL. При неудаче переключается на fallback-url. Значение резервного адреса обновляется (или очищается) при каждом успешном запросе.

fallback-domain

Альтернативный домен для подстановки в основной URL при его недоступности.

СвойствоЗначение
Типstring (только хост)
СохранениеДа — записывается в профиль

Пример:

fallback-domain: backup.example.com

Если основной URL — https://main.example.com/sub, этот резерв пробует https://backup.example.com/sub.


Управление интерфейсом Android Только Android

Заголовок раздела «Управление интерфейсом Android »

Следующие заголовки поддерживаются исключительно Android-версией Prizrak-Box. Они позволяют провайдерам подписок управлять отдельными элементами пользовательского интерфейса Android-клиента.

Все значения применяются при получении подписки и сохраняются в профиле до следующего обновления.

pxa-latency-dots

Управляет отображением задержки прокси в списке.

СвойствоЗначение
Типinteger
Значения0 = числа задержки, 1 = точки задержки

Пример:

pxa-latency-dots: 1
pxa-simple-mode

Включает упрощённый режим интерфейса — на главном экране приложения только первую select прокси группу вашей конфигурации mihomo.

СвойствоЗначение
Типinteger
Значения1 для включения

Пример:

pxa-simple-mode: 1
pxa-global-mode-mp

Показывает пункт меню Глобальный режим в левом нижнем углу карточки текущего профиля при запущенном подключении VPN.

СвойствоЗначение
Типinteger
Значения1 для отображения

Пример:

pxa-global-mode-mp: 1
pxa-conns-view-mp

Показывает пункт меню Подключения в левом нижнем углу карточки текущего профиля при запущенном подключении VPN.

СвойствоЗначение
Типinteger
Значения1 для отображения

Пример:

pxa-conns-view-mp: 1
pxa-rp-mp

Показывает пункт меню Rules Provider (RP) в левом нижнем углу карточки текущего профиля при запущенном подключении VPN.

СвойствоЗначение
Типinteger
Значения1 для отображения

Пример:

pxa-rp-mp: 1

Управление интерфейсом десктопа Только десктоп

Заголовок раздела «Управление интерфейсом десктопа »

Следующие заголовки поддерживаются только десктопными версиями Prizrak-Box (Windows, macOS, Linux). Они позволяют провайдерам подписок управлять отдельными элементами интерфейса десктопного клиента.

Значение применяется при получении подписки и сохраняется в профиле до следующего обновления.

global-mode

Управляет тем, отображается ли переключатель режимов (Rule / Global / Direct) в левом боковом меню и в меню трея.

СвойствоЗначение
Типstring
Значенияfalse или 0 скрывают переключатель; любое другое значение (или отсутствие) показывает его

Примеры:

global-mode: false
global-mode: 0

Если значение равно false (без учёта регистра) или 0, весь переключатель режимов (Rule / Global / Direct) скрывается из левого бокового меню и из меню трея для этого профиля, если он является активным (primary, либо иначе выбранным). Любое другое значение или отсутствие заголовка оставляет переключатель видимым.

pxd-theme

Задаёт оформление десктопного клиента для профиля: фоновое изображение, прозрачность интерфейса, размытие под панелями, затемнение фона, режим (светлая / тёмная) и цвет акцента.

СвойствоЗначение
Типstring (пары ключ=значение через точку с запятой)
КодировкаUTF-8 или Base64 (префикс base64:)
Применяетсяк активному профилю (основному, либо иначе выбранному)
ПараметрЗначенияОписание
imageURL (http, https)Фоновое изображение
transparency5–85 (%)Прозрачность интерфейса
blur0–30 (px)Размытие под панелями
dim0–80 (%)Затемнение фона
modeauto, light, darkРежим оформления. auto — по фоновому изображению, без него — по системной теме
accent#RRGGBB или autoЦвет акцента. auto — подбирается по фоновому изображению

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

Изображение:

  • Форматы: JPEG, PNG, WebP (рекомендуется JPEG).
  • Рекомендуемый размер: около 1920×1080 и не больше ~2 МБ — изображение загружается при каждом применении темы.
  • Если в ссылке есть символ ;, закодируйте его как %3B.

Полный пример:

pxd-theme: image=https://cdn.example.com/theme/bg-1920x1080.jpg; transparency=30; blur=4; dim=20; mode=dark; accent=auto

Только заданный цвет акцента и заданный режим, без изображения:

pxd-theme: mode=light; accent=#1f9e7a

В этом случае фон остаётся тем, что выбрал пользователь, а режим и цвет акцента задаёт профиль.

Тот же заголовок в Base64:

pxd-theme: base64:bW9kZT1saWdodDsgYWNjZW50PSMxZjllN2E=

Параметры, заданные профилем, показываются в разделе Тема и недоступны для изменения. Пользователь может отключить тему профиля переключателем «Тема профиля» в том же разделе — тогда возвращаются его собственные настройки. При переключении на профиль без этого заголовка также возвращаются настройки пользователя (или значения по умолчанию, если он их не менял). Если заголовок пропадёт при следующем обновлении подписки, тема профиля будет удалена.


Prizrak-Box поддерживает формат заголовков HWID Device Limit от RemnaWave. При использовании аппаратной аутентификации устройств задействованы две группы заголовков: заголовки, отправляемые клиентом с каждым запросом, и заголовки, возвращаемые сервером в ответе.

Когда в профиле активен HWID, Prizrak-Box автоматически добавляет следующие заголовки к каждому запросу подписки:

ЗаголовокОписание
X-HwidАппаратный отпечаток — уникальный идентификатор устройства
X-Device-OSНазвание операционной системы (например, Windows, Android, macOS)
X-Ver-OSВерсия ОС (например, 14, 11, 14.5)
X-Device-ModelМодель устройства (например, Pixel 8, iPhone 14 Pro Max)

Сервер возвращает следующие заголовки для передачи статуса HWID. Prizrak-Box читает и обрабатывает каждый из них.

X-Hwid-Active Remnawave

Всегда true, когда HWID Device Limit включён на стороне сервера. Prizrak-Box использует этот заголовок для пометки профиля как HWID-защищённого в интерфейсе.

СвойствоЗначение
Типstring (булево)
Значенияtrue
X-Hwid-Active: true
X-Hwid-Not-Supported Remnawave

true, если HWID Device Limit включён на сервере, но клиент не отправил заголовок X-Hwid. Сигнализирует приложению, что устройство не идентифицировано и подписка может быть ограничена.

СвойствоЗначение
Типstring (булево)
Значенияtrue
X-Hwid-Not-Supported: true
X-Hwid-Max-Devices-Reached Remnawave

true, если HWID Device Limit включён и пользователь достиг максимального числа разрешённых устройств. Приложение может показать предупреждение о том, что добавить новые устройства невозможно.

СвойствоЗначение
Типstring (булево)
Значенияtrue
X-Hwid-Max-Devices-Reached: true