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-core | sing-box |
|---|---|---|
| Язык реализации | Go | Go |
| Лицензия | Mozilla Public License 2.0 | GNU GPL версии 3 или новее |
| Происхождение | форк более раннего v2ray-core | самостоятельная разработка команды SagerNet |
| VLESS с Reality и XTLS Vision | поддерживает, здесь эти функции впервые появились | поддерживает |
| Hysteria2 | поддерживает как отдельный транспорт | поддерживает |
| WireGuard как исходящий протокол | поддерживает | поддерживает |
| Протоколы только этого ядра | транспорт XHTTP | TUIC, Naive, Snell, Tor, ShadowTLS, AnyTLS |
| Формат конфигурации | JSON с блоками inbounds и outbounds | JSON с блоками 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 внутри приложения одинаково на всех платформах.
Как это выглядит в настройках подписки
- Провайдер подписки на десктопе может задать параметр
tun-typeсо значениемsingbox,xray,tun2proxyили оставить значение по умолчанию — собственную реализацию Happ TUN. - Если выбран
singbox, дополнительно может быть переданcustom-tunnel-configс JSON-настройками именно для этого ядра. - Независимо от выбранного ядра TUN, соединение с сервером по протоколу подписки — VLESS, Trojan, Shadowsocks и другим — устанавливает Xray-core.
- Обычному пользователю менять эти параметры вручную не нужно: они относятся к расширенным настройкам подписки на стороне провайдера.
Сравнение того, как 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.
Упомянутые темы
Похожие материалы
Разделы по теме
Источники
- Официальный сайт проекта Xray (Project X) — обращение 28 сентября 2026
- Репозиторий Xray-core на GitHub — обращение 28 сентября 2026
- Официальный сайт sing-box — обращение 28 сентября 2026
- Репозиторий sing-box на GitHub — обращение 28 сентября 2026
- Документация Happ: управление настройками приложения — обращение 28 сентября 2026