sing-box или Xray

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

Большинство профилей работает на sing-box. Некоторые профили VLESS и все пользовательские конфигурации Xray работают на Xray, который тоже входит в Throne. В простом режиме вкладки Ядро (Core) и Логирование (Logging) и большинство других настроек с этой страницы скрыты, см. Простой и расширенный режим.

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

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

Профили, у которых в столбце Тип (Type) указано VLESS (Xray), Custom Xray … Outbound или Custom Xray Config, работают на Xray; все остальные, включая VLESS, работают на sing-box. Ссылка vless://, которая использует возможность, существующую лишь в Xray, всегда импортируется как VLESS (Xray), независимо от настройки «Предпочтение Xray для VLESS»:

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

mKCP передаёт соединение по UDP (kcp в поле Сеть (Network) в редакторе профиля). С маской xdns в Finalmask он становится DNS-туннелем XDNS. XDRIVE тоже есть только в Xray, но формата ссылки у него нет.

Чтобы увидеть конфигурации, которые Throne генерирует для профиля, щёлкните по нему правой кнопкой мыши → Поделиться (Share) → Экспортировать конфиг (Export config). Сообщения 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://.

Другие источники:

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

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

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

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

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

Ошибки 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 и нажмите OK.
  3. Обновите подписку или добавьте ссылку заново (см. После изменения настройки).
  4. Убедитесь, что в столбце Тип теперь указано VLESS (Xray).

Из подписки в формате Clash / Mihomo YAML на Xray переходят только записи Reality поверх TCP, WebSocket или gRPC. Для других транспортов используйте подписку в виде списка ссылок, если ваш провайдер её предлагает.

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

Доверие системным сертификатам

Xray проверяет сертификаты серверов только по встроенным в него корневым сертификатам, поэтому сервер, сертификат которого выдан корневым сертификатом, установленным вами, например корпоративным или самоподписанным, такую проверку не проходит. Отметьте Настройки (Settings) → Основные настройки (Basic Settings) → Безопасность (Security) → Доверять системным сертификатам в Xray (Trust System Certificates in Xray) (по умолчанию выключено), чтобы Xray доверял и сертификатам вашей системы.

XDRIVE

С транспортом XDRIVE Throne и сервер не соединяются друг с другом. Они обмениваются трафиком в виде файлов в хранилище, доступном обоим: в папке Google Drive, в бакете S3, в другом хранилище с HTTP API или в папке на этом компьютере. Используйте его только с сервером, настроенным для XDRIVE, и с параметрами, которые дал его владелец.

У XDRIVE нет формата ссылки, потому что ссылка содержала бы секреты хранилища. Вместо этого импортируйте Xray JSON-конфигурацию сервера или ссылку Throne (throne://add/…). Если поделиться профилем XDRIVE, получится его ссылка Throne.

Чтобы настроить XDRIVE в редакторе профиля, выберите xdrive в поле Сеть (Network). XDRIVE требует таких настроек VLESS:

  • Шифрование (Encryption): строка шифрования VLESS, которую выдаёт сервер; она начинается с mlkem768x25519plus.
  • Flow: пусто.
  • Мультиплексирование (Multiplex): любое значение, кроме Выключено (Disabled). При По умолчанию (Keep Default) Throne включает mux для XDRIVE. См. Мультиплексирование.

В группе Хранилище (Storage) выберите Сервис (Service) и заполните то, что дал владелец сервера:

  • google-drive (по умолчанию): Папка (Folder) (идентификатор общей папки), Client ID, Client Secret и Refresh Token.
  • s3, любое S3-совместимое хранилище, например AWS S3, MinIO или Cloudflare R2: Эндпоинт (Endpoint), Бакет (Bucket), Папка (префикс ключей), Access Key ID и Secret Access Key, а при необходимости Регион (Region) (пусто означает us-east-1) и Session Token. Адресация path-style (Path-Style Addressing) (по умолчанию включена) указывает бакет в пути URL, а не в имени хоста.
  • template, любое хранилище с HTTP API: Шаблон (Template) (операции API в виде JSON) и Секреты (Secrets) (значения через запятую, которые читаются как {secret0}, {secret1} и так далее).
  • local: Папка, папка на этом компьютере.

Адрес фронта (Front Address) и Порт фронта (Front Port) (по умолчанию 443) необязательны: Throne подключается к API хранилища по этому адресу, а в TLS по-прежнему указывается хост API (разновидность domain fronting). Оставьте группу Настройка (Tuning) пустой, чтобы использовать значения Xray по умолчанию.

Xray в цепочках

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

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

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

Гео-файлы Xray

Профилю Пользовательский (конфигурация Xray), собственные правила routing которого используют значения geoip: или geosite:, нужны файлы geoip.dat и geosite.dat. Если их нет, Throne предлагает их скачать: нажмите Да (Yes), затем снова запустите профиль.

Источник выбирается в Настройки → Основные настройки → Прочее (Miscellaneous) → Geo-файлы Xray (Xray Geo Assets): Loyalsoldier (весь мир и Китай, по умолчанию), Chocolate4U (Иран), runetfreedom (Россия) или v2fly. Берите оба файла из одного источника. Если Throne показывает «Отсутствует Geo категория» (Geo asset missing category), выберите источник, в котором есть эта категория, и нажмите Загрузить (Download) для этого файла.

Android

  • Эта настройка находится в Настройки (Settings) → Ядро (Core) → Настройки VLESS для Xray (Xray VLESS preference), с вариантами Только XHTTP (XHTTP only), XHTTP и Reality (XHTTP and Reality) (по умолчанию) и Все VLESS (All VLESS).
  • XDRIVE: выберите XDRIVE в поле Сеть (Network). Поля находятся в разделах Настройки XDRIVE (XDRIVE settings) и Тонкая настройка XDRIVE (XDRIVE tuning), а Секреты (Secrets) принимает по одному значению на строку.
  • mKCP: выберите mKCP в поле Сеть. Поля находятся в разделах Настройки mKCP (mKCP settings) и Тонкая настройка mKCP (mKCP tuning). Для XDNS добавьте маску xdns в Finalmask.
  • Настройки (Settings) → Ядро (Core) → Доверять системным сертификатам в Xray (Trust system certificates in Xray) доверяет корневым сертификатам, которые поставляются с Android, но не тем, что вы установили сами.
  • Throne для Android сам загружает geoip.dat и geosite.dat, когда они нужны конфигурации Xray. Источник выбирается в Настройки (Settings) → Ядро (Core) → Геоданные Xray (Xray geo assets).