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

Блок mins

Сервер, переданный как Xray JSON, может содержать верхнеуровневый ключ mins. Он меняет только то, как mins показывает и пингует сервер. Трафик он не затрагивает и удаляется до передачи конфигурации движку, так что сам Xray его не видит.

{
"remarks": "Finland 1",
"mins": {
"name": "Finland 1",
"description": "Own DNS and routes",
"flag": "fi",
"icon": "house",
"ping": {
"type": "proxy-head",
"url": "https://cp.cloudflare.com/generate_204",
"timeout_ms": 3000
}
},
"outbounds": [ { "tag": "proxy", "protocol": "vless", "settings": { "...": "..." } } ]
}

Размещайте блок на верхнем уровне полной конфигурации Xray (JSON-объекта без верхнеуровневого protocol), будь то единственный сервер или элемент JSON-массива подписки. Отдельный объект outbound принимает те же поля, но движок тогда выдаёт предупреждения о полях, которых там не знает.

Поле Тип Лимиты Действие
name строка от 1 до 64 символов Имя сервера вместо remarks.
description строка до 120 символов Описание на второй строке сервера и в его сведениях.
flag строка код ISO 3166-1 alpha-2 в любом регистре или "none" Страна сервера. "none" отключает всё автоматическое определение страны и показывает значок.
icon строка одно из globe, house, briefcase, server, shield, star, lightning, game, play, cloud Значок, когда у сервера нет страны. По умолчанию globe.
ping.type строка tcp, proxy, proxy-head, icmp Как измеряется этот сервер. Обязателен, если есть ping.
ping.url строка URL https:// Адрес проверки для proxy и proxy-head.
ping.timeout_ms целое от 500 до 30000 Таймаут пинга в миллисекундах.

Проверка никогда не ломает импорт. Поле вне лимитов, неизвестное поле или значение неверного типа игнорируется и попадает предупреждением в предпросмотр импорта; остальные поля применяются. Объект ping без допустимого type игнорируется целиком.

Тексты показываются как обычный текст.

  • Имя: mins.name, затем remarks (или remark) из JSON, затем адрес:порт сервера.
  • Описание: mins.description, затем meta.serverDescription из JSON, затем serverDescription из ссылки или заголовка.

Страна определяется первым шагом, который даёт ответ:

  1. mins.flag ("none" — страны нет).
  2. Флаг-эмодзи в начале имени, например 🇫🇮 Finland. Эмодзи убирается из отображаемого имени; сохранённое remarks остаётся таким, как прислано.
  3. Название страны целым словом в имени, на английском или русском (Finland, Финляндия, USA, UK, ОАЭ). Georgia и Jersey неоднозначны и определяются только через flag.
  4. GeoIP — только если адрес сервера является IP-адресом, а у пользователя загружена база GeoIP. Доменные имена ради флага не разрешаются.
  5. Страны нет: показывается значок.

Для предсказуемого результата задавайте flag явно.

Для одного сервера настройки пинга берутся в таком порядке; побеждает первый, кто задал значение:

  1. Явный выбор пользователя для этого сервера.
  2. mins.ping сервера.
  3. ping-type, check-url-via-proxy, proxy-ping-timeout и ping-result подписки с учётом переопределения пользователя для подписки.
  4. Глобальные настройки пинга пользователя (тип по умолчанию icmp, адрес по умолчанию https://www.gstatic.com/generate_204, таймаут 5000 мс).

Собственный балансировщик провайдера («Авто»)

Заголовок раздела «Собственный балансировщик провайдера («Авто»)»

Если полная JSON-конфигурация содержит routing.balancers, первый балансировщик считается «Авто» провайдера: сервер помечается его стратегией, а в Настройки → Подключение → Приоритет «Авто» пользователь выбирает, что показывать: Авто mins (по умолчанию, выбирает сервер с наименьшим пингом) или Балансировщик провайдера. Протокол и транспорт, показанные у сервера, берутся из первого outbound, тег которого начинается с одного из элементов selector балансировщика, а при отсутствии совпадения — из первого прокси-outbound.

Внутри объекта outbound у mins есть второе назначение: там хранится то, во что превращаются некоторые параметры ссылок. Эти ключи не относятся к оформлению.

Ключ Тип Действие
allowInsecure bool VLESS и Hysteria2. true отключает проверку сертификата TLS; у сервера появляется предупреждающая метка allowInsecure. Для любого другого протокола true делает конфигурацию непригодной.
fragment объект { "length", "interval", "packets", "maxSplit" } Фрагментация TLS для этого outbound; maxSplit необязателен. Смысл тот же, что у заголовков fragmentation-*.
noises массив { "type", "packet", "delay", "applyTo" } Шумовые пакеты для этого outbound; applyTo необязателен. Смысл тот же, что у заголовков noises-*.

Для этого лучше использовать параметры ссылок или заголовки ответа.