Перейти к статье
Nimbo Docs

docs / subscription-headers

Стандартные и nimbo-заголовки: тема, логотип, стиль и маршрутизация приложений.

Заголовки подписки

Nimbo читает дополнительные HTTP-заголовки из ответа подписки. Через них провайдер может передать название профиля, ссылки поддержки, объявление, лимиты трафика, оформление интерфейса и правила маршрутизации приложений в direct или proxy. Заголовки возвращаются вместе с обычным телом подписки.

Названия заголовков регистронезависимы — для совместимости лучше писать их в нижнем регистре. Текстовые значения можно передавать обычной строкой, в percent-encoding (%0A для переноса строки) или с префиксом base64:. Помимо стандартных заголовков Nimbo понимает собственные nimbo-* для темы, стиля и маршрутизации, а также их x-алиасы.

HTTP/1.1 200 OK
profile-title: My VPN
nimbo-custom: update
nimbo-style: glass
process-direct: Steam.exe, EpicGamesLauncher.exe
process-proxy: Telegram.exe, Discord.exe

Стандартные заголовки

ЗаголовокАлиасыНазначение
profile-titleИмя подписки в Nimbo.
subscription-userinfoЛимиты трафика: upload, download, total, expire.
support-urlprofile-support-url, x-support-urlСсылка на поддержку провайдера.
profile-web-page-urlprofile-page-url, website-url, web-page-url, x-web-page-urlСайт или личный кабинет провайдера.
profile-update-intervalИнтервал обновления профиля в секундах, отображается в метаданных подписки.
announceprofile-announce, subscription-announce, happ-announce, x-announce, x-subscription-announceОбъявление провайдера. Внутри него также можно передавать правила приложений.

Пример subscription-userinfo:

subscription-userinfo: upload=1073741824; download=5368709120; total=107374182400; expire=1893456000

nimbo-custom — когда применять

Управляет тем, когда применять остальные nimbo-* настройки.

ЗначениеПоведение
addПрименить только при первом добавлении профиля
updateПрименять при каждом обновлении подписки и при переключении профиля
(нет заголовка)Не применять nimbo-*
Без nimbo-custom: update тема, логотип и стиль не будут обновляться на каждом цикле.

nimbo-theme — тема одной строкой

nimbo-theme: <filter>,<accentHex>,<orb1Hex>,<orb2Hex>,<blur>

Все поля после filter опциональны: пропущенный или невалидный сегмент оставляет поле без изменений.

filter — алгоритм цветовой схемы

filterВ приложенииЭффект
fidelityОбычныеТочный акцент без искажения. Рекомендуемый.
vibrantЯркиеПовышенная насыщенность
monochromeМоноОбесцвечивание (серый)
neutralНейтральныеПриглушённая насыщенность
expressiveВыразительныеСдвиг оттенка

Остальные поля

ПолеНазначениеФормат
accentHexАкцентный цвет (кнопки, акценты)6 или 8 hex, # опционален
orb1HexЦвет верхних орбов фонаhex
orb2HexЦвет нижнего орба фонаhex
blurМягкость орбов: 1 — чёткие, 5 — диффузное свечение1–5

Пример

nimbo-custom: update
nimbo-theme: fidelity,#9B67FF,#7445FF,#41DDFF,2

Фирменный фиолетовый акцент Nimbo, точный фильтр, блюр 2. Если orb1/orb2 пусты — орбы следуют за акцентом. Поддерживается алиас x-nimbo-theme, в нём поле filter можно оставить пустым:

x-nimbo-theme: ,9B67FF,7445FF,41DDFF,2

nimbo-logo — логотип провайдера

nimbo-logo: <логотип>

Клиент показывает круглый логотип в шапке карточки подписки с акцентной обводкой, которая загорается вместе с кнопкой подключения. К логотипу применяется активный фильтр темы. Если заголовка нет — логотип не показывается.

Поддерживаемые форматы:

ФорматПример
HTTP/HTTPS URLnimbo-logo: https://example.com/logo.png
Data URInimbo-logo: data:image/png;base64,iVBORw0KGgo...
Raw Base64 PNGnimbo-logo: iVBORw0KGgo...

Поддерживается алиас x-nimbo-logo.

nimbo-style — стиль интерфейса

Выбирает оформление интерфейса клиента.

ЗначенияРезультат
glass, nebula, nimbo, nimboglassСтеклянный интерфейс Nimbo
material, materialyou, md3, mdyou, mdMaterial You
nimbo-style: glass
x-nimbo-style: material

Тумблеры пользователя

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

Маршрутизация приложений: direct / proxy

В разговоре это часто называют proxy-direct, но в заголовках Nimbo используются отдельные группы: process-direct, process-proxy и process-rules.

Такие правила позволяют провайдеру заранее указать, какие процессы должны идти напрямую (direct), а какие через VPN/прокси (proxy). Правила сохраняются в метаданных подписки и включены по умолчанию. Пользовательские локальные правила имеют приоритет: пользователь может отключить правило провайдера или заменить режим для того же процесса.

Заголовки для direct

Все процессы из этих заголовков получают режим direct.

process-direct: Steam.exe, EpicGamesLauncher.exe

Поддерживаемые имена:

process-direct
process-direct-list
process-bypass
app-direct
apps-direct
nimbo-process-direct
x-nimbo-process-direct
x-process-direct
x-app-direct

Заголовки для proxy

Все процессы из этих заголовков получают режим proxy.

process-proxy: Telegram.exe, Discord.exe

Поддерживаемые имена:

process-proxy
process-proxy-list
app-proxy
apps-proxy
nimbo-process-proxy
x-nimbo-process-proxy
x-process-proxy
x-app-proxy

Смешанные правила

Если в одном месте нужно передать и direct, и proxy, используйте process-rules или ссылку на файл правил.

Поддерживаемые имена:

process-rules
app-rules
apps-rules
nimbo-process-rules
x-nimbo-process-rules
x-process-rules
x-app-rules

Пример через percent-encoded переносы строк:

process-rules: PROCESS-NAME,Steam.exe,DIRECT%0APROCESS-NAME,Telegram.exe,PROXY

Для больших списков лучше передавать URL — Nimbo скачает файл и распарсит его как JSON или текст:

process-rules: https://cdn.example.com/nimbo/app-rules.json

Формат текстового списка

Разделители: запятая, точка с запятой или новая строка.

# direct
process-direct: Steam.exe, EpicGamesLauncher.exe

# proxy
process-proxy: Telegram.exe; Discord.exe

# Mihomo/Clash-style
PROCESS-NAME,Spotify.exe,DIRECT
PROCESS-NAME,Telegram.exe,PROXY

Поддерживаемые режимы в тексте:

РежимАлиасы
directbypass, bypasslan, bypass_lan
proxyvpn, proxied

Формат JSON

{
  "processDirect": ["Steam.exe", "EpicGamesLauncher.exe"],
  "processProxy": ["Telegram.exe", "Discord.exe"],
  "rules": [
    {
      "mode": "direct",
      "appNames": ["Spotify.exe"]
    },
    {
      "mode": "proxy",
      "apps": ["C:\\Users\\Danila\\AppData\\Local\\Telegram Desktop\\Telegram.exe"]
    }
  ]
}

Поддерживаемые ключи для списков приложений:

appNames
apps
processes
processNames
processDirect
processProxy
directApps
proxyApps

Поддерживаемые ключи режима внутри объекта:

mode
action
outbound
outboundTag
policy

Правила внутри announce

В announce можно добавить строки с правилами. Это удобно, если панель уже умеет отдавать announcement, но не умеет добавлять отдельные заголовки.

announce: process-direct: Steam.exe, EpicGamesLauncher.exe%0Aprocess-proxy: Telegram.exe, Discord.exe

Внутри announce поддерживаются формы с двоеточием, знаком равенства и пробелом:

process-direct: Steam.exe
process-proxy=Telegram.exe
app-direct Discord.exe
app-rules https://cdn.example.com/nimbo/app-rules.txt

Если в announce указать отдельной строкой HTTP/HTTPS URL на .txt, .json, .yaml, .yml или путь с process/app, Nimbo попробует скачать его как список правил. Для явного mixed-режима лучше писать ключ:

process-rules: https://cdn.example.com/nimbo/app-rules.json

Как Nimbo сопоставляет процесс

Можно передавать только имя файла или полный путь:

Telegram.exe
C:\Users\Danila\AppData\Local\Telegram Desktop\Telegram.exe

Для сопоставления Nimbo нормализует путь и использует имя исполняемого файла. Поэтому Telegram.exe и полный путь к Telegram.exe считаются правилом для одного приложения. Не добавляйте один и тот же процесс одновременно в direct и proxy: при конфликте пользовательское локальное правило сможет переопределить провайдера, но на стороне провайдера лучше держать список однозначным.

CORS

Если подписка читается из WebView или браузерного окружения, добавьте Access-Control-Expose-Headers, иначе клиент может не увидеть кастомные заголовки.

Access-Control-Expose-Headers: profile-title, subscription-userinfo, support-url, profile-update-interval, announce, nimbo-custom, nimbo-theme, nimbo-logo, nimbo-style, process-direct, process-proxy, process-rules, app-direct, app-proxy, app-rules, x-nimbo-theme, x-nimbo-logo, x-nimbo-style, x-process-direct, x-process-proxy, x-process-rules, x-app-direct, x-app-proxy, x-app-rules

Примеры настройки

Если подписки раздаёт Remnawave (частый случай), заголовки задаются прямо в панели.

Remnawave

Заголовки настраиваются в панели. Откройте Subscription → Settings (актуально для Remnawave 2.x).

Часть значений у Remnawave — это отдельные поля настроек подписки:

Поле в панелиЗаголовок
Profile titleprofile-title
Support linksupport-url
Profile webpage URLprofile-web-page-url
Announceannounce

Лимиты трафика и срок действия (subscription-userinfo) Remnawave подставляет автоматически по данным пользователя.

Остальные заголовки Nimbo добавляются в карточке кастомных заголовков ответа (Subscription Response Headers) парами «ключ → значение»:

КлючЗначение
nimbo-customupdate
nimbo-themefidelity,#9B67FF,#7445FF,#41DDFF,2
nimbo-logohttps://example.com/assets/logo.png
nimbo-styleglass
process-directSteam.exe, EpicGamesLauncher.exe
process-proxyTelegram.exe, Discord.exe
process-ruleshttps://cdn.example.com/nimbo/app-rules.json

Панель отдаёт эти заголовки вместе с подпиской. Если клиент читает подписку из браузерного окружения, проверьте, что нужные заголовки попадают в Access-Control-Expose-Headers — см. раздел CORS выше.

Сводка nimbo-заголовков

ЗаголовокНазначениеПример
nimbo-customКогда применять nimbo-*update
nimbo-themeТема одной строкойfidelity,#9B67FF,#7445FF,#41DDFF,2
nimbo-logoЛоготип провайдераhttps://example.com/logo.png
nimbo-styleСтиль интерфейсаglass
process-directПроцессы напрямуюSteam.exe, EpicGamesLauncher.exe
process-proxyПроцессы через VPNTelegram.exe, Discord.exe
process-rulesСмешанные правила или URLhttps://cdn.example.com/nimbo/app-rules.json