Перейти к содержимому

Заголовки запроса

Здесь описано, что получает ваша панель, когда mins загружает адрес подписки. Используйте это, чтобы различать клиентов, соблюдать лимиты устройств и выбирать ответ для конкретной платформы.

GET /sub/abc123 HTTP/1.1
Host: sub.example.com
User-Agent: mins/1.1.0 (android)
Accept-Language: ru
x-hwid: 3f9a1c07b2d44e5e8a61c0d2f7b9e413
x-device-os: android
x-ver-os: Linux 6.1.99-android14-11 #1 SMP PREEMPT
x-device-model: localhost

Значения в примере условные.

Заголовок Значение Примечания
User-Agent Зависит от пресета подписки, см. ниже Провайдер может задать значение через change-user-agent.
Accept-Language en или ru Язык из Настройки → Внешний вид → Язык.
x-hwid 32 шестнадцатеричных символа в нижнем регистре Случайный идентификатор, создаётся один раз на установку и одинаков для всех подписок этой установки. От оборудования не зависит.
x-device-os android, ios, macos, windows или linux Операционная система устройства.
x-ver-os Произвольный текст Строка версии ОС в том виде, как её сообщает платформа. Формат отличается между системами.
x-device-model Произвольный текст Имя хоста устройства, как его сообщает ОС. Это не маркетинговое название модели и может быть общим значением вроде localhost.

Четыре заголовка x- отправляются вместе или не отправляются вовсе. Cookie и заголовков аутентификации нет: учётные данные — сам адрес подписки.

Пользователь выбирает пресет для каждой подписки на экране подписки (User-Agent). По умолчанию — mins.

Пресет Отправляемый User-Agent
mins (по умолчанию) mins/<версия приложения> (<ОС>), например mins/1.1.0 (android)
Happ Happ/1.63.1
INCY INCY/<версия приложения>/<ОС>, например INCY/1.1.0/android
Xray Xray-core/26.10.31
custom Любой текст, введённый пользователем

<ОС> — то же значение, что в x-device-os.

Почему это важно для панели: многие панели выбирают формат ответа по User-Agent (например, JSON для Happ-подобных клиентов и список ссылок для остальных). Пользователь, которому нужен определённый формат, может сменить пресет. mins принимает список ссылок, base64 и Xray JSON, поэтому User-Agent mins по умолчанию работает с любым из них; см. Формат подписки.

Провайдер может взять выбор на себя:

Заголовок в вашем ответе Действие
change-user-agent: <строка> Со следующей загрузки именно эта строка отправляется как User-Agent, а подписка показывает её как Свой User-Agent.
manual-block-user-agent: true Пользователь не может менять пресет и собственное значение для этой подписки.

x-hwid нужен, чтобы панели могли считать устройства и соблюдать лимиты устройств (например, Remnawave). По умолчанию он включён.

  • Пользователь может отключить его для подписки переключателем Отправлять идентификатор устройства (HWID). Когда он выключен, ни один из четырёх заголовков x- не отправляется.
  • Если вашему сервису идентификатор нужен, отправляйте subscription-always-hwid-enable: true. Тогда mins сообщает пользователю: «Провайдер требует HWID. Без него подписка может не обновляться. Выбор остаётся за вами.» Настройка не принудительная: приватность остаётся за пользователем.
  • Идентификатор хранится в данных приложения. После переустановки без восстановления резервной копии создаётся новый идентификатор.
  • Если клиент не может прочитать сохранённый идентификатор, он отказывается обновлять подписки с ошибкой «Device identity unavailable; restore a backup before updating subscriptions» и новый не отправляет.
Запрос Куда Примечания
Профиль маршрутизации по адресу Адрес https:// из ссылки маршрутизации или ключа routing Перенаправления не выполняются; 9 с на соединение и 20 с на получение. Заголовки x- не отправляются.
Геофайлы Geoipurl и Geositeurl профиля маршрутизации User-Agent — строка браузера, выбранная пользователем в Настройки → Подписки → User-Agent геофайлов (по умолчанию та же строка, что у пресета mins выше), либо user-agent-geo-files от провайдера.
Пробы пинга Адрес проверки (check-url-via-proxy, по умолчанию https://www.gstatic.com/generate_204) Через измеряемый сервер, а не к вашей панели.