sing-box или Xray

Какое ядро запускает ваши профили, как работает настройка «Предпочтение Xray для VLESS» и как исправить ошибки Reality с новыми серверами Xray.

Ядро Throne построено на sing-box и также содержит Xray. Большинство профилей работает на sing-box. Некоторые профили VLESS и все пользовательские конфигурации Xray работают на Xray. На этой странице объясняется, как Throne выбирает ядро, как изменить этот выбор для ссылок VLESS и как исправить ошибки подключения Reality.

Два ядра в одном

sing-box работает всегда. Он обслуживает локальный порт прокси, режим TUN, правила маршрутизации и DNS. Xray работает как помощник внутри того же ядра. Он запускается, только когда нужен запущенному профилю, например когда на Xray работает сам профиль, звено его цепочки или outbound правила маршрутизации. sing-box передаёт этот трафик в Xray через внутреннее локальное соединение, поэтому режим TUN, профили маршрутизации и настройки DNS работают одинаково с обоими ядрами.

На Xray работают такие профили:

Столбец Тип (Type) Откуда берутся
VLESS (Xray) Ссылки vless:// — в зависимости от настройки «Предпочтение Xray для VLESS»; outbound типа VLESS в Xray JSON; тип VLESS (Xray) в редакторе профиля.
Custom Xray … Outbound Тип Польз. (Xray outbound) (Custom (Xray outbound)); остальные outbound из импортированного Xray JSON.
Custom Xray Config Тип Польз. (Xray конфигурация) (Custom (Xray config)); импортированные списки полных конфигураций Xray.

Все остальные профили, включая VLESS, работают на sing-box.

Некоторые возможности VLESS есть только в Xray. Ссылка vless://, которая использует одну из них, всегда импортируется как VLESS (Xray), независимо от значения настройки:

  • транспорт XHTTP (type=xhttp) и его настройки extra;
  • шифрование VLESS (значение encryption, отличное от none);
  • Finalmask;
  • транспорт TCP (raw) с заголовком HTTP вместе с TLS.

Сообщения Xray появляются на той же вкладке Логи (Logs). Их уровень детализации задаётся в Настройки (Settings) → Основные настройки (Basic Settings) → Логирование (Logging) → Уровень логирования Xray (Xray Log level).

Выбор ядра для ссылок VLESS

Настройка Настройки → Основные настройки → Ядро (Core) → Предпочтение Xray для VLESS (Xray VLESS Preference) определяет, какое ядро получит ссылка vless:// при импорте:

Вариант Ссылки, импортируемые как VLESS (Xray)
XHTTP Only Только ссылки, которым нужна возможность, существующая лишь в Xray (см. список выше). Ссылки Reality остаются на sing-box.
XHTTP And Reality (по умолчанию) Ссылки выше, а также все ссылки Reality.
All VLESS Все ссылки vless://.

Все остальные ссылки vless:// становятся профилями VLESS, которые работают на sing-box.

Эта настройка действует только на ссылки vless://:

  • Clash / Mihomo YAML: запись VLESS получает Xray, только если использует XHTTP или шифрование VLESS. Записи Reality остаются на sing-box.
  • Xray JSON: каждый outbound типа VLESS становится VLESS (Xray).
  • sing-box JSON: outbound типа VLESS остаются на sing-box.
  • Редактор профиля: вы сами выбираете VLESS или VLESS (Xray) в списке Тип (Type).

После изменения настройки

Настройка влияет только на профили, которые вы импортируете после её изменения. Существующие профили сохраняют своё ядро. Чтобы перевести их на другое ядро:

  • Группа подписки: обновите подписку (Группы (Groups) → Обновить подписку (Update subscription) или щёлкните правой кнопкой мыши по вкладке группы → Обновить подписку). Throne заменит затронутые профили новыми профилями другого типа, поэтому их прежние результаты тестов пропадут.
  • Профиль, добавленный из ссылки: добавьте ссылку ещё раз, затем удалите старый профиль.
  • Профиль, созданный вручную: его тип изменить нельзя. Создайте новый профиль с другим типом.

Если в дополнительных настройках подписки группы (Advanced) включён параметр Keep working profiles, старые рабочие профили могут остаться рядом с новыми. Удалите их вручную.

Какое ядро использует профиль?

Посмотрите на столбец Тип в списке профилей. VLESS работает на sing-box. VLESS (Xray), Custom Xray … Outbound и Custom Xray Config работают на Xray.

Чтобы в этом столбце отображался и уровень безопасности, например Reality, включите Настройки → Основные настройки → Интерфейс (Style) → Отображать безопасность конфигураций (Show Config Security). Для профилей VLESS (Xray) и Польз. (Xray outbound), а также для цепочек в контекстном меню есть пункт Поделиться (Share) → Экспортировать конфиг Xray (Export Xray config).

Ошибки Reality с новыми серверами Xray

Новые серверы Xray отклоняют клиент Reality из sing-box. Тогда профиль не подключается, а в логе появляется reality verification failed (#1780).

  • Xray с 26.7.11 по 26.7.28 принимает только клиенты, которые сообщают о свежей версии Xray.
  • Xray 26.9.9 и новее требует более нового обмена ключами (X25519MLKEM768), который клиент Reality из sing-box не предлагает.

Решение — запускать профиль на Xray:

  1. Откройте Настройки → Основные настройки → Ядро.
  2. Установите для параметра Предпочтение Xray для VLESS значение XHTTP And Reality или All VLESS.
  3. Нажмите OK.
  4. Обновите подписку или добавьте ссылку заново (см. После изменения настройки).
  5. Убедитесь, что в столбце Тип теперь указано VLESS (Xray).

Для записей Reality из подписки в формате Clash / Mihomo YAML это не помогает, потому что они всегда остаются на sing-box. Если ваш провайдер предлагает подписку и в виде списка ссылок, используйте этот формат.

Если вы сами администрируете сервер Xray версии с 26.7.11 по 26.7.28, можно также добавить "minClientVer": "0.0.0" в realitySettings его VLESS-inbound. Это позволит подключаться старым клиентам. С Xray 26.9.9 и новее это не помогает.

Xray в цепочках

В цепочке можно сочетать профили sing-box и Xray, но с двумя ограничениями:

  • Все звенья Xray должны идти подряд. Трафик может перейти с sing-box на Xray и обратно только один раз: звенья sing-box, затем звенья Xray, затем снова звенья sing-box. Иначе профиль не запустится, а в логе появится «Too many core transitions» (слишком много переходов между ядрами).
  • Профиль Польз. (Xray конфигурация) должен быть верхним звеном и не может находиться в одной цепочке с другими звеньями Xray, потому что цепочка может использовать только один экземпляр Xray.

Фронт-прокси и выходные прокси групп, а также WARP тоже считаются звеньями. См. Цепочки прокси и пользовательские конфигурации.

Гео-файлы Xray

У профиля Польз. (Xray конфигурация) могут быть собственные правила routing со значениями geoip: или geosite:. Для них Xray нужны файлы geoip.dat и geosite.dat. Другие профили и профили маршрутизации Throne эти файлы не используют: они работают с наборами правил (rule-set).

Если файлов нет, Throne показывает окно «Требуются Geo-файлы» (Geo asset files required) и предлагает их скачать. Нажмите Да (Yes), дождитесь окна «Загрузка Гео-файлов» (Geo assets installed), затем снова запустите профиль.

Адреса для скачивания находятся в Настройки → Основные настройки → Прочее (Miscellaneous) → Гео-ресурсы Xray (Xray Geo Assets), в полях URL GeoIP-ресурса (GeoIP Asset URL) и URL GeoSite-ресурса (GeoSite Asset URL). В их списках есть адреса четырёх источников: Loyalsoldier (весь мир и Китай, по умолчанию), Chocolate4U (Иран), runetfreedom (Россия) и v2fly. Берите оба файла из одного источника. Каждая кнопка Загрузить (Download) заново скачивает свой файл и заменяет старый.

Если правило ссылается на категорию, которой нет в файле, Throne показывает «Отсутствует Geo категория» (Geo asset missing category). Выберите источник, в котором есть эта категория, затем нажмите Загрузить для этого файла.

Android

  • Та же настройка находится в Настройки (Settings) → Core → Xray VLESS preference, с вариантами XHTTP only, XHTTP and Reality (по умолчанию) и All VLESS. Она тоже действует только при импорте, поэтому после её изменения обновите подписку.
  • Типы профилей — VLESS и VLESS (Xray), а ограничения для Xray в цепочках те же.