Один формат на всех платформах
Конфигурация, написанная для настольной системы, работает на телефоне без правок. Это редкость: у большинства ядер платформенные сборки расходятся в деталях.
Sing-box — универсальное сетевое ядро, которое говорит почти на всех актуальных протоколах сразу и работает одинаково на всех платформах. Именно поэтому оно стало общим знаменателем для клиентов разных разработчиков.
Обновлено

Профиль по четырём осям
Оценки сравнительные, в пределах этой таблицы: 100 — лучший показатель среди рассмотренных протоколов, а не абсолютная величина.
| Что это | Универсальное сетевое ядро, не отдельный протокол |
|---|---|
| Год появления | 2022 |
| Язык | Go, единая кодовая база под все платформы |
| Протоколы | VLESS, VMess, Trojan, Shadowsocks, WireGuard, Hysteria2, TUIC |
| Платформы | Windows, macOS, Linux, Android, iOS, роутеры на OpenWrt |
| Маршрутизация | Наборы правил в бинарном формате, обновляются по сети |
| Конфигурация | JSON, версии формата помечены явно |
Конфигурация, написанная для настольной системы, работает на телефоне без правок. Это редкость: у большинства ядер платформенные сборки расходятся в деталях.
Списки доменов и подсетей хранятся в компактном бинарном виде и подгружаются по сети. Файл на сто тысяч доменов занимает около 1,5 МБ и проверяется за миллисекунды.
Одно ядро умеет и VLESS с Reality, и WireGuard, и Hysteria2. Переключение между ними — вопрос выбора исходящего канала, а не установки другой программы.
Тот же исполняемый файл работает обеими сторонами. Для небольшой инфраструктуры это заметно упрощает сопровождение и обновления.
Обычная ситуация до появления sing-box выглядела так: на сервере работает одно ядро, на телефоне — приложение с другим, на роутере — третье, и у каждого свой формат настроек. Перенести конфигурацию означало переписать её заново, сверяясь с документацией.
Sing-box собрал реализации почти всех актуальных транспортов в одну программу с единым форматом. Один и тот же JSON запускается на сервере, на телефоне и на роутере — различия сводятся к способу захвата трафика, который платформы предоставляют по-разному.
Отсюда и распространение. Разработчикам клиентов проще встроить готовое ядро, чем поддерживать десяток реализаций; пользователям проще, что профиль из одного приложения открывается в другом. Сетевой эффект оказался сильнее технических различий между ядрами.
Раньше списки доменов вставлялись прямо в конфигурацию. Файл на десять тысяч записей разрастался до мегабайтов текста, разбирался долго и обновлялся только руками. Sing-box заменил это наборами правил — скомпилированными бинарными файлами с доменами, подсетями и кодами стран.
Набор подключается ссылкой и обновляется по расписанию, скажем раз в сутки. Список на сто тысяч доменов занимает около 1,5 МБ, разбирается при старте за десятки миллисекунд, а проверка одного домена по нему выполняется за микросекунды.
Практический сценарий: набор российских сервисов идёт прямым маршрутом, набор рекламных доменов отбрасывается, всё остальное направляется через сервер. Списки поддерживает сообщество, и конфигурация при этом остаётся на несколько строк.
Настольные системы получают обычный исполняемый файл без зависимостей — Go собирает всё статически. На Linux ядро запускается службой, на Windows и macOS работает внутри приложений с графическим интерфейсом.
На Android ядро упаковано в приложение и использует системный механизм VpnService. На iOS оно работает через Network Extension, и здесь у платформы жёсткий предел памяти для расширения — около 50 МБ. Ядро уложено в этот бюджет, но при сотнях правил маршрутизации запас становится тонким.
Для роутеров есть сборки под OpenWrt. Требования умеренные: устройство со 256 МБ памяти держит 300–500 Мбит/с. На совсем слабом железе разумнее взять WireGuard в ядре системы — универсальность там не окупается.
Первое, чем приходится платить, — размер. Сборка со всеми протоколами занимает 25–40 МБ, тогда как реализация одного транспорта укладывается в единицы мегабайт. Для настольной системы это неважно, для роутера с ограниченной флеш-памятью — иногда критично.
Второе — глубина реализации. Родное ядро протокола почти всегда получает новые возможности раньше: авторы Reality развивают её в Xray, авторы Hysteria — в своём проекте. Sing-box подтягивает изменения с задержкой в несколько недель, и отдельные тонкие настройки в нём бывают недоступны.
Третье — сложность конфигурации. Универсальность означает, что нельзя опираться на разумные значения по умолчанию: у каждого транспорта они свои. Рабочий файл на 200 строк здесь обычное дело, и почти всегда его генерирует клиент, а не человек.
Транспорт выбирается в настройках клиента одним пунктом, доплаты за него нет. Если sing-box в вашей сети перестал подниматься, соседний протокол обычно работает — переключение занимает секунды и не требует переустановки.
Подписка оформляется в Telegram-канале сервиса · Безлимитный трафик · Поддержка круглосуточно