Заголовки запроса (клиент → сервер)¶
Каждый запрос подписки несёт эти заголовки, чтобы панель могла опознать устройство и привязать к нему подписку (скачивание профиля маршрутизации несёт только User-Agent, скачивание гео-баз — ничего):
| Заголовок | Значение |
|---|---|
X-Hwid |
Стабильный id устройства. Считается один раз при первом запуске и больше не меняется — ни при обновлении приложения, ни при переустановке. Показан на экране «О приложении»; с ним сверяются ссылки addhw. У каждого клиентского приложения своя схема HWID, поэтому устройство, привязанное в другом клиенте, для панели будет другим HWID. |
X-Device-Os |
Android · iOS · macOS · tvOS · Windows · Linux |
X-Ver-Os |
Версия ОС — например 16, 18.6, 10.0.26200 |
X-Device-Model |
Модель устройства — например SM-S942B, iPhone16,2, PC |
X-Device-Locale |
ru_RU и т.п. — язык и регион устройства |
X-App-Version |
2.0.5 (422) — маркетинговая версия + билд одной строкой |
X-App-Build |
422 — номер билда отдельно — по нему и ориентироваться (Android 423+, Apple 313+, desktop 199+; старые сборки шлют только X-App-Version и User-Agent) |
User-Agent |
SMProxy/<версия>/<билд>-<ОС> — например SMProxy/2.0.5/422-Android. Используйте, когда разным сборкам нужно отдавать разный контент |
Имена заголовков регистронезависимы.
User-Agent — один формат на всех платформах¶
| Платформа | Пример |
|---|---|
| Android | SMProxy/2.0.5/422-Android |
| iOS / iPadOS | SMProxy/2.0.9/312-iOS |
| macOS | SMProxy/2.0.9/312-macOS |
| tvOS | SMProxy/2.0.9/312-tvOS |
| Windows | SMProxy/2.0.2/198-Windows |
| Linux | SMProxy/2.0.2/198-Linux |
Отправляется при каждом запросе подписки и при скачивании профиля маршрутизации по URL. Ориентироваться нужно на номер билда — третий сегмент растёт с каждым релизом и никогда не повторяется, а маркетинговая версия может не меняться несколько билдов подряд. Панель, которая отдаёт разным сборкам разный контент, разбирает его так: