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

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

При загрузке удалённой подписки 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

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


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 поддерживает формат заголовков 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