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

Для провайдеров

Этот раздел — справочник для VPN- и прокси-провайдеров и разработчиков панелей. Он описывает всё, что mins читает из подписки, ровно так, как это реализовано в клиенте. Чтобы интегрироваться, читать исходный код не нужно.

У mins нет собственных серверов и аккаунтов. Всё, что клиент знает о вашем сервисе, приходит в одном HTTP-ответе: список серверов в теле, настройки в заголовках ответа и в необязательных строках #ключ: значение в начале тела. Большинство ключей, которые отправляют панели Happ и INCY, понимаются.

Что нужно настроить Механизм Страница
Список серверов Тело подписки: список ссылок, base64, Xray JSON Формат подписки
Название подписки, трафик, срок, объявление, ссылки поддержки, интервал обновления Заголовки ответа (или строки #ключ: значение) Заголовки ответа
Поведение клиента для этой подписки (пинг, порядок, фрагментация, mux, режим, исключённые маршруты) Заголовки ответа; чувствительные ждут подтверждения пользователя Заголовки ответа
Что клиент отправляет вашей панели (User-Agent, идентификатор устройства) Заголовки запроса Заголовки запроса
Имя, описание, флаг, значок и пинг отдельного сервера Блок mins в Xray JSON сервера Блок mins
Ссылки на серверы, ссылки «добавить подписку одним нажатием», кнопки Telegram vless://, hysteria2://, wireguard://, vpn://, mins://add/, https://sr.minsclient.com/ Ссылки и deep link
Правила маршрутизации и DNS для серверов подписки Профиль маршрутизации в заголовке routing, в теле или по ссылке Профили маршрутизации
  • Клиентом владеет пользователь. Каждое значение, заданное подпиской, перечислено на экране подписки в разделе Задано подпиской; пользователь может переопределить любое из них или вернуть своё глобальное значение. Скрыть настройки провайдер не может.
  • Чувствительные настройки требуют подтверждения. Всё, что меняет маршрутизацию трафика устройства, DNS, автозапуск или локальные порты, остаётся в ожидании, пока пользователь не нажмёт Принять. Отклонённое значение не предлагается снова, пока панель не пришлёт другое. Полный список — в разделе Заголовки ответа.
  • Слои. Итоговое значение настройки: встроенное по умолчанию, затем глобальная настройка пользователя, затем значение подписки, затем явное переопределение пользователя для этой подписки. Побеждает последний заданный слой.
  • Сначала HTTPS. Адрес подписки, ссылки в заголовках и адреса профилей маршрутизации должны быть HTTPS. Подписка по обычному HTTP работает только после подтверждения пользователем.
  • Ничего не импортируется молча. Адрес подписки, deep link, QR-код или вставленный текст всегда заканчиваются предпросмотром, который подтверждает пользователь.
  • Текст — только текст. Названия, объявления и описания показываются как обычный текст с фиксированными лимитами длины. HTML и Markdown не отображаются.
  • Неизвестное игнорируется, а не ломает импорт. Неизвестный заголовок пропускается молча; известный заголовок с некорректным значением или отклонённый mins пропускается и попадает в раздел Не применяется с причиной; остальная подписка импортируется.
Не поддерживается Почему
Скрытие и блокировка настроек клиента (hide-settings, hide-url, hide-check) Клиентом владеет пользователь; провайдеры не скрывают элементы управления.
Цвета и темы провайдера (color-profile, banner-bg-color, banner-button-color) Тема приложения принадлежит пользователю. У информационной карточки возможен только тон red, blue или green через sub-info-color.
Скрытие системного индикатора VPN (hide-vpn-icon) Системный индикатор скрыть нельзя.
Конфигурации sing-box, включая custom-tunnel-config, и профили Clash Поддерживается только импорт конфигураций Xray. JSON с ключами proxies или route отклоняется: «Only Xray configuration imports are supported».
VMess, Trojan, Shadowsocks и другие протоколы Поддерживаются VLESS, Hysteria2, WireGuard и AmneziaWG. Остальные ссылки остаются в списке как неподдерживаемые с причиной «Protocol X is not supported»; JSON-сервер с другим протоколом помечается «Unsupported protocols: …».
Зашифрованные ссылки Happ и INCY (happ://crypt..., incy://crypt...) Отклоняются: «Encrypted Happ/INCY links are not supported». Отправляйте обычные ссылки или адрес подписки.
Тихий импорт или импорт одним касанием без предпросмотра Любой импорт заканчивается предпросмотром, который подтверждает пользователь.
Альтернативный формат HWID, лимиты памяти Xray Не описаны в первоисточнике и не относятся к этому движку.

Полный список отклоняемых заголовков с причинами — в разделе Заголовки ответа.

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
profile-title: Example VPN
profile-update-interval: 12
subscription-userinfo: upload=0; download=1073741824; total=107374182400; expire=1798761600
vless://11111111-1111-4111-8111-111111111111@fi.example.com:443?type=ws&security=tls&sni=fi.example.com&path=%2Fws&host=fi.example.com#Finland

Полный пример со всеми частыми заголовками — на странице Заголовки ответа.