Заголовки запроса
Здесь описано, что получает ваша панель, когда mins загружает адрес подписки. Используйте это, чтобы различать клиентов, соблюдать лимиты устройств и выбирать ответ для конкретной платформы.
Что отправляет mins
Заголовок раздела «Что отправляет mins»GET /sub/abc123 HTTP/1.1Host: sub.example.comUser-Agent: mins/1.1.0 (android)Accept-Language: rux-hwid: 3f9a1c07b2d44e5e8a61c0d2f7b9e413x-device-os: androidx-ver-os: Linux 6.1.99-android14-11 #1 SMP PREEMPTx-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
Заголовок раздела «Пресеты User-Agent»Пользователь выбирает пресет для каждой подписки на экране подписки (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 |
Пользователь не может менять пресет и собственное значение для этой подписки. |
Идентификатор устройства (HWID)
Заголовок раздела «Идентификатор устройства (HWID)»x-hwid нужен, чтобы панели могли считать устройства и соблюдать лимиты устройств (например, Remnawave). По умолчанию он включён.
- Пользователь может отключить его для подписки переключателем Отправлять идентификатор устройства (HWID). Когда он выключен, ни один из четырёх заголовков
x-не отправляется. - Если вашему сервису идентификатор нужен, отправляйте
subscription-always-hwid-enable: true. Тогда mins сообщает пользователю: «Провайдер требует HWID. Без него подписка может не обновляться. Выбор остаётся за вами.» Настройка не принудительная: приватность остаётся за пользователем. - Идентификатор хранится в данных приложения. После переустановки без восстановления резервной копии создаётся новый идентификатор.
- Если клиент не может прочитать сохранённый идентификатор, он отказывается обновлять подписки с ошибкой «Device identity unavailable; restore a backup before updating subscriptions» и новый не отправляет.
Другие запросы mins
Заголовок раздела «Другие запросы mins»| Запрос | Куда | Примечания |
|---|---|---|
| Профиль маршрутизации по адресу | Адрес 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) |
Через измеряемый сервер, а не к вашей панели. |