Happ VPN

Xray-core или sing-box: сравнение ядер

Автор
Екатерина Лебедева, редактор раздела knowledge base
Проверил:
Артём Волков
Проверено:
Опубликовано:
, обновлено
Версия гайда:
1.0

Коротко

Xray-core и sing-box — два открытых ядра на Go для прокси-протоколов VLESS, Trojan, Shadowsocks и других, но с разными наборами протоколов и лицензиями. В Happ протоколы на всех платформах обслуживает Xray-core, а sing-box на десктопе доступен отдельно как одно из ядер для самого TUN-режима.

Xray-core вырос из проекта V2Ray и добавил VLESS, Reality, XTLS Vision и транспорт XHTTP. Sing-box — самостоятельный проект на Go, который поддерживает похожий набор защищённых протоколов и дополнительно TUIC, Naive, Snell и другие. Оба используют JSON-конфигурацию с блоками входящих и исходящих соединений, но схемы полей не совместимы напрямую. В Happ протокольную часть — VLESS, VMess, Trojan, Shadowsocks, Socks5, Hysteria2 — на всех платформах обслуживает именно Xray-core; sing-box в документации Happ упомянут отдельно как один из выбираемых на десктопе движков для самого TUN-интерфейса.

Сравнение по 13 параметрам

Xray-core и sing-box — два разных открытых ядра, которые решают похожую задачу: устанавливают защищённое соединение по нескольким прокси-протоколам и умеют маршрутизировать трафик по правилам.

ПараметрXray-coresing-box
Язык реализацииGoGo
ЛицензияMozilla Public License 2.0GNU GPL версии 3 или новее
Происхождениефорк более раннего v2ray-coreсамостоятельная разработка команды SagerNet
VLESS с Reality и XTLS Visionподдерживает, здесь эти функции впервые появилисьподдерживает
Hysteria2поддерживает как отдельный транспортподдерживает
WireGuard как исходящий протоколподдерживаетподдерживает
Протоколы только этого ядратранспорт XHTTPTUIC, Naive, Snell, Tor, ShadowTLS, AnyTLS
Формат конфигурацииJSON с блоками inbounds и outboundsJSON с блоками inbounds и outbounds, другая схема полей
Совместимость конфигураций между ядрамине совместимы напрямуюне совместимы напрямую
Мультиплексирование соединенийMux, объединение TCP-соединенийmultiplex, похожая идея
Маршрутизация по GeoIP и GeoSiteподдерживаетподдерживает
Собственный режим TUNестьесть
Использование в Happосновное ядро протоколов на всех платформахна десктопе — отдельно выбираемое ядро TUN-режима

Данные сверены 28 сентября 2026 по официальным страницам обоих проектов и документации Happ. Подробнее о самом Xray-core — на странице Xray-core.

Чем отличаются на практике

Общий предок и разная история

Xray-core вырос из проекта V2Ray и со временем добавил собственные протоколы и функции — VLESS, Reality, XTLS Vision, транспорт XHTTP. Sing-box создан отдельно, без прямого наследования кода V2Ray, но реализует многие из тех же идей, включая совместимую поддержку VLESS с Reality и Vision. Общий набор протоколов у ядер во многом совпадает, но история и лицензии разные: MPL 2.0 у Xray-core и GPL версии 3 или новее у sing-box.

Что есть только у одного ядра

У sing-box шире набор редких протоколов — TUIC, Naive, Snell, ShadowTLS, AnyTLS, — которых нет в документации Xray-core. У Xray-core в ответ есть собственный транспорт XHTTP, передающий данные протоколов в виде HTTP-запросов. Обе стороны при этом поддерживают базовый набор, важный для Happ: VLESS, VMess, Trojan, Shadowsocks и Hysteria2.

Как sing-box связан именно с Happ

Happ — клиент на ядре Xray-core: соединение с сервером по любому протоколу подписки на всех платформах устанавливает именно оно. Sing-box в документации Happ упоминается отдельно и по другому поводу — как один из движков TUN-подключения на десктопе, наряду с Mux и другими внутренними механизмами Xray-core. Параметр подписки tun-type со значением singbox переключает то, какой код создаёт виртуальный сетевой интерфейс, а параметр custom-tunnel-config передаёт для этого ядра отдельную JSON-конфигурацию туннеля. Протокольная часть подключения при этом не меняется — ей всё равно занимается Xray-core.

Конфигурации не переносятся напрямую

Оба ядра используют похожую по идее структуру JSON с исходящими соединениями, но конкретные названия полей и вложенность отличаются. Администратору, который переносит сервер с одного ядра на другое, придётся переписать конфигурацию, а не просто скопировать файл: базовые параметры протокола — адрес, порт, UUID — переносятся по смыслу легко, а специфичные для ядра блоки нужно собирать заново по документации нового ядра.

Кому что подходит

Xray-core подойдёт, если:

  • нужна оригинальная реализация Reality, XTLS Vision или транспорта XHTTP;
  • сервер обслуживает клиентов Happ или другие приложения, построенные именно на этом ядре;
  • важна максимальная совместимость с давно распространённым набором панелей и инструкций для VLESS и Trojan.

sing-box стоит рассмотреть, если:

  • на сервере нужны протоколы, которых нет в Xray-core, например TUIC или ShadowTLS;
  • удобнее вести правила маршрутизации и несколько разных протоколов в одном общем конфиге sing-box;
  • на десктопе Happ нужно попробовать альтернативный движок TUN-подключения через параметр tun-type.

Для обычного пользователя Happ выбор ядра для протокола не требуется вообще — это решает Xray-core внутри приложения одинаково на всех платформах.

Как это выглядит в настройках подписки

  1. Провайдер подписки на десктопе может задать параметр tun-type со значением singbox, xray, tun2proxy или оставить значение по умолчанию — собственную реализацию Happ TUN.
  2. Если выбран singbox, дополнительно может быть передан custom-tunnel-config с JSON-настройками именно для этого ядра.
  3. Независимо от выбранного ядра TUN, соединение с сервером по протоколу подписки — VLESS, Trojan, Shadowsocks и другим — устанавливает Xray-core.
  4. Обычному пользователю менять эти параметры вручную не нужно: они относятся к расширенным настройкам подписки на стороне провайдера.

Сравнение того, как TUN-режим в целом отличается от системного прокси в Happ, — на странице TUN или системный прокси.

Главное

  • Оба ядра написаны на Go: Xray-core распространяется под MPL 2.0, sing-box — под GPLv3 или новее.
  • Xray-core — форк более раннего проекта v2ray-core; sing-box — самостоятельная разработка команды SagerNet, не форк V2Ray.
  • VLESS с Reality и режимом XTLS Vision поддерживают оба ядра, хотя эти функции впервые появились именно в Xray-core.
  • У sing-box есть протоколы, которых нет в Xray-core, например TUIC, Naive, Snell и AnyTLS; у Xray-core есть собственный транспорт XHTTP.
  • В Happ протоколы всех подписок обслуживает Xray-core; sing-box на десктопе доступен только как отдельно выбираемое ядро TUN-подключения, параметром tun-type.

Частые вопросы

Значит ли параметр tun-type: singbox, что Happ работает на ядре sing-box?

Нет. Документация Happ описывает приложение как клиент для работы с прокси-серверами именно на ядре Xray, и все протоколы — VLESS, VMess, Trojan, Shadowsocks, Socks5, Hysteria2 — на всех платформах обслуживает Xray-core. Параметр tun-type в расширенных настройках подписки на десктопе относится только к тому, какой движок создаёт сам виртуальный сетевой интерфейс TUN, а не к тому, что устанавливает соединение с сервером.

Можно ли передать в Happ отдельную конфигурацию для sing-box?

Да, документация Happ для десктопа описывает параметр custom-tunnel-config, который передаёт собственную конфигурацию туннеля именно для ядра sing-box, когда оно выбрано параметром tun-type. Это отдельная настройка транспортного уровня для самого TUN-интерфейса, а не замена конфигурации протокола прокси, которую всё равно обслуживает Xray-core.

Чем sing-box отличается от Xray-core по происхождению?

Xray-core начинался как ответвление кода v2ray-core и сохранил многое из его структуры, при этом добавив собственные протоколы и функции. Sing-box — отдельный проект команды SagerNet, написанный заново, а не форк V2Ray или Xray. У проектов общая идея — гибкая прокси-платформа с правилами маршрутизации, — но разный код и разная история версий.

Какие протоколы есть в sing-box, но нет в Xray-core?

Sing-box описывает поддержку TUIC, Naive, Snell, Tor, ShadowTLS и AnyTLS как исходящих протоколов, которых в документации Xray-core нет. У Xray-core в ответ есть собственный транспорт XHTTP и режим XTLS Vision в его исходной реализации. Оба ядра при этом поддерживают общий базовый набор — VLESS, VMess, Trojan, Shadowsocks и Hysteria2.

Совместимы ли конфигурации Xray-core и sing-box между собой?

Не напрямую. Оба используют JSON с похожей идеей блоков входящих и исходящих соединений, но названия полей и структура отличаются, поэтому конфиг, написанный для одного ядра, не заработает на другом без переписывания. Общие параметры протокола — адрес, порт, UUID для VLESS, пароль для Trojan — переносятся легко, а специфичные для конкретного ядра функции придётся настраивать заново.

Нужно ли пользователю Happ разбираться в различиях Xray-core и sing-box?

Обычному пользователю подписки — нет: протоколы обслуживает Xray-core одинаково на всех платформах, и это не настраивается вручную. Разница важна тому, кто администрирует свой сервер и выбирает, на каком ядре его поднимать, а также тому, кто на десктопе Happ решает, какое ядро TUN использовать через расширенный параметр tun-type — это единственное место, где sing-box напрямую упомянут в самом Happ.

Упомянутые темы

Разделы по теме

Источники

  1. Официальный сайт проекта Xray (Project X) — обращение 28 сентября 2026
  2. Репозиторий Xray-core на GitHub — обращение 28 сентября 2026
  3. Официальный сайт sing-box — обращение 28 сентября 2026
  4. Репозиторий sing-box на GitHub — обращение 28 сентября 2026
  5. Документация Happ: управление настройками приложения — обращение 28 сентября 2026