Заголовки подписки
Что приложение отправляет панели и что понимает в её ответе
Что отправляет приложение
| Заголовок | Значение |
|---|---|
User-Agent | ClodClash/<версия> (Android) |
Accept | */* |
x-hwid | идентификатор устройства — хеш, само значение телефон не покидает |
x-device-os, x-ver-os, x-device-model | Android, версия системы, модель |
x-hwid и три заголовка с ним уходят, пока включено Опознавать это устройство
(по умолчанию включено). По защищённому каналу всё это идёт внутри зашифрованного запроса.
Что понимает в ответе
| Заголовок | Что делает |
|---|---|
profile-title | название подписки; если пользователь задал своё имя, показывается «Своё имя (название от панели)» |
profile-logo | логотип в шапке главного экрана (только https) |
subscription-userinfo | трафик и срок на главном экране; после срока подписка обновляется ещё раз сама |
subscription-refill-date | дата пополнения трафика |
profile-update-interval | интервал автообновления в часах, пока пользователь не задал свой |
support-url | кнопка «Поддержка» (https, tg:, mailto:) |
announce, announce-url | объявление на главном экране и ссылка по нажатию |
x-hwid-not-supported | панель требует опознание устройства: карточка «Устройство не опознано», прежние серверы убираются |
x-hwid-max-devices-reached, x-hwid-limit | лимит устройств: экран лимита, прежние серверы убираются |
notify-expire-days, notify-traffic-percent | пороги напоминаний, например 7,3,1 и 80,90,100; off выключает |
Date | срок считается по часам панели, неверное время на телефоне его не сдвигает |
clod-* | собственные заголовки клиента — см. Заголовки clod-* |
Как разбираются значения
- Регистр имени не важен.
- Текст с кириллицей отдавайте как
base64:<текст в base64>. - Ссылки — только
https://;support-urlиclod-bot-urlпринимают ещёtg:иmailto:. - Ссылки, объявление, промо и логотип живут один ответ: панель перестала слать заголовок — они пропадают при следующем обновлении. Название, трафик, срок и интервал без заголовка остаются прежними.
Дополнительные заголовки задаются в панели через customResponseHeaders.