Поддерживаемые заголовки
При загрузке удалённой подписки Prizrak-Box считывает определённые HTTP-заголовки ответа от сервера. Эти заголовки позволяют провайдерам подписок управлять метаданными профиля, отображением трафика, автоматическим обновлением, логотипом, объявлениями и другим.
Заголовки нечувствительны к регистру. Неизвестные заголовки игнорируются без ошибок.
Метаданные профиля
Заголовок раздела «Метаданные профиля»Profile-Title 
Отображаемое имя подписки в Prizrak-Box.
![]()
| Свойство | Значение |
|---|---|
| Тип | string |
| Кодировка | UTF-8 или Base64 (префикс base64:) |
Пример:
Profile-Title: Моя VPN подпискаProfile-Title: base64:TW9yIFZQTiDQv9C+0LTQv9C40YHQutCwЕсли Profile-Title отсутствует, приложение использует имя файла из заголовка Content-Disposition, затем генерирует имя вида Sub-2024-01-01.
Profile-Logo
URL изображения для логотипа подписки в приложении.
![]()
| Свойство | Значение |
|---|---|
| Тип | string (URL) |
| Поддерживаемые форматы | PNG, SVG |
| Максимальный размер | 2 МБ |
| Разрешённые схемы | http, https |
Пример:
Profile-Logo: https://example.com/logo.pngЛоготип загружается при получении подписки и кешируется локально. Пустой или недействительный URL удаляет кешированный логотип.
Content-Disposition 
Используется как запасной источник названия профиля, если Profile-Title отсутствует.
| Свойство | Значение |
|---|---|
| Тип | string |
| Разбираемое поле | параметр filename |
Пример:
Content-Disposition: attachment; filename="my-vpn.yaml"Значение filename (без расширения) становится названием профиля, если Profile-Title не задан.
Информация о трафике
Заголовок раздела «Информация о трафике»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 
Задаёт интервал автоматического обновления подписки.
| Свойство | Значение |
|---|---|
| Тип | integer |
| Единица | Часы |
Пример:
Profile-Update-Interval: 24При наличии этого заголовка Prizrak-Box автоматически обновляет подписку с заданным интервалом в часах.
Profile-Web-Page-Url 
URL главной страницы или портала провайдера подписки.
| Свойство | Значение |
|---|---|
| Тип | string (URL) |
Пример:
Profile-Web-Page-Url: https://myvpn.example.comОтображается в деталях профиля как кликабельная ссылка.
Support-Url 
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,7Notify-Traffic-Percent
Пороги «на каком проценте использованного трафика напомнить».
| Свойство | Значение |
|---|---|
| Тип | string (список целых чисел через запятую) |
| Диапазон | 1–100 |
Пример:
Notify-Traffic-Percent: 80,90,100Notification-Subs-Expire
Упрощённый вариант для панелей, которые не хотят указывать конкретные дни (некоторые панели в стиле Happ отправляют только этот заголовок).
| Свойство | Значение |
|---|---|
| Тип | string (boolean) |
| Значения | true |
Пример:
Notification-Subs-Expire: trueЕсли значение true, а Notify-Expire-Days при этом отсутствует, приложение включает напоминания об истечении с зашитыми по умолчанию порогами 1, 3 и 7 дней.
Объявления
Заголовок раздела «Объявления»Announce 
Текстовое объявление, отображаемое в приложении как баннер на карточке профиля.
![]()
| Свойство | Значение |
|---|---|
| Тип | string |
| Максимальная длина | 200 символов |
| Кодировка | UTF-8 или Base64 (префикс base64:) |
Примеры:
Announce: Техническое обслуживание в субботу 02:00–04:00 UTCAnnounce: base64:0KLQtdGF0L3QuNGH0LXRgdC60L7QtSDQvtCx0YHQu9GD0LbQuNCy0LDQvdC40LU=Announce-Url
URL, на который ссылается баннер объявления.
| Свойство | Значение |
|---|---|
| Тип | string (URL) |
Пример:
Announce-Url: https://status.myvpn.example.comНажатие на баннер объявления в приложении открывает этот URL.
Миграция URL и резервные адреса
Заголовок раздела «Миграция 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/abc123Prizrak-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: 1pxa-simple-mode
Включает упрощённый режим интерфейса — на главном экране приложения только первую select прокси группу вашей конфигурации mihomo.
| Свойство | Значение |
|---|---|
| Тип | integer |
| Значения | 1 для включения |
Пример:
pxa-simple-mode: 1pxa-global-mode-mp
Показывает пункт меню Глобальный режим в левом нижнем углу карточки текущего профиля при запущенном подключении VPN.
| Свойство | Значение |
|---|---|
| Тип | integer |
| Значения | 1 для отображения |
Пример:
pxa-global-mode-mp: 1pxa-conns-view-mp
Показывает пункт меню Подключения в левом нижнем углу карточки текущего профиля при запущенном подключении VPN.
| Свойство | Значение |
|---|---|
| Тип | integer |
| Значения | 1 для отображения |
Пример:
pxa-conns-view-mp: 1pxa-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: falseglobal-mode: 0Если значение равно false (без учёта регистра) или 0, весь переключатель режимов (Rule / Global / Direct) скрывается из левого бокового меню и из меню трея для этого профиля, если он является активным (primary, либо иначе выбранным). Любое другое значение или отсутствие заголовка оставляет переключатель видимым.
pxd-theme
Задаёт оформление десктопного клиента для профиля: фоновое изображение, прозрачность интерфейса, размытие под панелями, затемнение фона, режим (светлая / тёмная) и цвет акцента.
| Свойство | Значение |
|---|---|
| Тип | string (пары ключ=значение через точку с запятой) |
| Кодировка | UTF-8 или Base64 (префикс base64:) |
| Применяется | к активному профилю (основному, либо иначе выбранному) |
| Параметр | Значения | Описание |
|---|---|---|
image | URL (http, https) | Фоновое изображение |
transparency | 5–85 (%) | Прозрачность интерфейса |
blur | 0–30 (px) | Размытие под панелями |
dim | 0–80 (%) | Затемнение фона |
mode | auto, 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=Параметры, заданные профилем, показываются в разделе Тема и недоступны для изменения. Пользователь может отключить тему профиля переключателем «Тема профиля» в том же разделе — тогда возвращаются его собственные настройки. При переключении на профиль без этого заголовка также возвращаются настройки пользователя (или значения по умолчанию, если он их не менял). Если заголовок пропадёт при следующем обновлении подписки, тема профиля будет удалена.
HWID-аутентификация
Заголовок раздела «HWID-аутентификация»Prizrak-Box поддерживает формат заголовков HWID Device Limit от RemnaWave. При использовании аппаратной аутентификации устройств задействованы две группы заголовков: заголовки, отправляемые клиентом с каждым запросом, и заголовки, возвращаемые сервером в ответе.
Заголовки запроса (отправляет Prizrak-Box)
Заголовок раздела «Заголовки запроса (отправляет Prizrak-Box)»Когда в профиле активен 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 
Всегда true, когда HWID Device Limit включён на стороне сервера. Prizrak-Box использует этот заголовок для пометки профиля как HWID-защищённого в интерфейсе.
| Свойство | Значение |
|---|---|
| Тип | string (булево) |
| Значения | true |
X-Hwid-Active: trueX-Hwid-Not-Supported 
true, если HWID Device Limit включён на сервере, но клиент не отправил заголовок X-Hwid.
Сигнализирует приложению, что устройство не идентифицировано и подписка может быть ограничена.
| Свойство | Значение |
|---|---|
| Тип | string (булево) |
| Значения | true |
X-Hwid-Not-Supported: trueX-Hwid-Max-Devices-Reached 
true, если HWID Device Limit включён и пользователь достиг максимального числа разрешённых устройств.
Приложение может показать предупреждение о том, что добавить новые устройства невозможно.
| Свойство | Значение |
|---|---|
| Тип | string (булево) |
| Значения | true |
X-Hwid-Max-Devices-Reached: true