Перейти к содержанию

Заголовки запроса (клиент → сервер)

Каждый запрос подписки несёт эти заголовки, чтобы панель могла опознать устройство и привязать к нему подписку (скачивание профиля маршрутизации несёт только 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 — один формат на всех платформах

SMProxy/<маркетинговая версия>/<билд>-<ОС>
Платформа Пример
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. Ориентироваться нужно на номер билда — третий сегмент растёт с каждым релизом и никогда не повторяется, а маркетинговая версия может не меняться несколько билдов подряд. Панель, которая отдаёт разным сборкам разный контент, разбирает его так:

^SMProxy/[^/]+/(\d+)-(Android|iOS|macOS|tvOS|Windows|Linux)$