Формат подписок
Описание форматов подписок, поддерживаемых протоколов и HTTP-заголовков.
Поддерживаемые протоколы
VLESS
vless://
Основной протокол
VMess
vmess://
JSON-based конфигурация в base64
Trojan
trojan://
Парольная аутентификация
Shadowsocks
ss://
SIP002 и современный формат
Hysteria2
hysteria2://, hy2://
Мульти-портовая поддержка
SOCKS5
socks://
Проксирование через SOCKS5
WireGuard
wireguard://
Туннелирование WireGuard
Схемы
ssr://,tuic://,hysteria://распознаются приложением, но не парсятся — серверы с этими схемами будут пропущены.
Форматы тела подписки
1. Base64-закодированные ссылки
Наиболее распространённый формат. Тело ответа — base64, при декодировании содержит ссылки по одной на строку:
base64(
vless://uuid@server1:443?security=tls#Server1
vless://uuid@server2:443?security=tls#Server2
)Поддерживается URL-safe Base64 (- → +, _ → /).
2. Открытые ссылки (plain text)
Ссылки в открытом виде, по одной на строку:
3. JSON-форматы
Массив полных xray-конфигов:
Полный xray-конфиг (одиночный объект с inbounds и outbounds):
Подробнее: full-xray-config.md.
4. Смешанный формат
Ссылки серверов + строки маршрутизации + метаданные в одном теле:
Поддерживаемые специальные строки в теле:
://autorouting/onadd/{url}
Автообновляемый профиль маршрутизации (URL, с sourceURL)
://autorouting/add/{url}
Автообновляемый профиль маршрутизации (URL, с sourceURL)
://routing/onadd/{url}
Одноразовый импорт профиля по URL (без автообновления)
://routing/onadd/{base64}
Статический профиль маршрутизации
://routing/add/{base64}
Статический профиль маршрутизации
://onadd/{url или base64}
Сокращённая форма (без автообновления)
://routing/{base64}
Сокращённая форма
#announce: текст
Объявление (поддерживает base64:...)
#profile-title: текст
Имя подписки (поддерживает base64:...)
#support-url: URL
Ссылка на поддержку
#profile-web-page-url: URL
Ссылка на сайт провайдера
#announce-url: URL
Ссылка на объявление
#profile-update-interval: число
Интервал обновления (часы)
Специальные строки извлекаются из тела и не попадают в список серверов.
Приоритет: значения из HTTP-заголовков имеют приоритет над значениями из тела. Inline-метаданные в теле используются как fallback, если соответствующий заголовок отсутствует.
HTTP-заголовки
Заголовки подписки
profile-title
string
Имя подписки (до 25 символов). Поддерживает base64
subscription-name
string
Альтернатива profile-title (fallback)
profile-description
string
Описание подписки. Поддерживает base64
profile-update-interval
int
Интервал обновления в часах
subscription-userinfo
string
Статистика трафика и срок действия
support-url
URL
Ссылка на поддержку
profile-web-page-url
URL
Ссылка на сайт провайдера. Альтернатива: homepage
announce-url
URL
Ссылка на объявление
announce
string
Текст объявления (до 200 символов). Поддерживает base64
autorouting
URL
URL-источник профиля маршрутизации с автообновлением
routing
string
Профиль маршрутизации (base64 или полная ссылка)
sort-order
string
Порядок сортировки серверов: ping, name, none
content-disposition
string
Fallback для имени подписки (расширения .txt, .yaml удаляются)
Profile Title
Поддерживает два формата:
Открытый текст:
Base64 с описанием:
При base64-декодировании: первая строка — имя, остальные — описание.
Subscription User Info
upload
int
Исходящий трафик (байт)
download
int
Входящий трафик (байт)
total
int
Лимит трафика (байт)
expire
int
Дата истечения (Unix timestamp, секунды)
Если
expire> 32000000000 — значение интерпретируется как миллисекунды и конвертируется в секунды.
Скрытие блока трафика:
Если сервер возвращает subscription-userinfo: 0, блок трафика на главном экране полностью скрывается. Используйте это, когда статистика трафика не предоставляется.
Announce
Текст объявления отображается на главном экране в виде баннера. Поддерживается до 5 строк текста, после чего текст обрезается с многоточием.
Sort Order
Задаёт порядок сортировки серверов в приложении. При обновлении подписки значение применяется к глобальной настройке сортировки.
none
Порядок по умолчанию (как в подписке)
ping
По пингу (самые быстрые первыми)
name
По алфавиту
Заголовки запроса (клиент → сервер)
При обновлении подписки приложение отправляет:
User-Agent
INCY/<version>/<platform>
Accept
*/*
Accept-Language
Language-tag устройства (напр. ru-RU)
Accept-Encoding
Только iOS: gzip, deflate, br
x-app-version
Версия приложения
x-device-locale
Язык устройства
x-client
INCY
При включённой отправке HWID дополнительно:
x-hwid
Аппаратный идентификатор (подробнее)
X-Device-ID
Alias для x-hwid на Android (некоторые сервер-стеки ожидают именно этот заголовок)
x-device-os
Платформа (iOS, Android, Linux, Windows)
x-ver-os
Версия ОС
x-device-model
Модель устройства
Все заголовки HTTP регистронезависимы. Сервер может смотреть на
x-hwidлибоX-HWID— придут одни и те же байты.
Последнее обновление