Протоколы Обновлено 5 мая 2026 г. 10 мин Android, iOS, Windows, macOS, Linux

sing-box: что это за платформа и как читать конфиг

sing-box — универсальная proxy-платформа и сетевое ядро для клиентов и ручных конфигураций. Разбираем архитектуру, TUN, DNS, routing, клиентов и типовые ошибки.

Коротко

sing-box — универсальная proxy-платформа и сетевое ядро для клиентов и ручных конфигураций. Разбираем архитектуру, TUN, DNS, routing, клиентов и типовые ошибки.

Проверено на

  • Дата проверки: .
  • Платформы и сценарии: Android, iOS, Windows, macOS.
  • Ключевые темы: sing-box, VLESS.
  • Основной источник: SagerNet/sing-box GitHub.

Практический шаг

Нужны данные для VLESS-подключения?

Получите доступ на 4 дня бесплатно и используйте данные для настройки VLESS-клиента.

Что этоsing-box — универсальная proxy-платформа: она принимает трафик через inbound, отправляет его через outbound и применяет DNS/routing правила между ними.
Где встречаетсяВ самостоятельных JSON-конфигах, официальных клиентах Project S, Hiddify, NekoBox, Karing, v2rayN и других приложениях, которые используют sing-box как сетевое ядро.
Главный рискПроблема редко сводится к одному протоколу: TUN, DNS, route rules, права ОС и устаревшие поля могут ломать рабочий сервер.

sing-box часто называют VPN-ядром, но точнее говорить: это универсальная proxy-платформа. Она не выдает сервер, не продает подписку и не превращает любой профиль в безопасное подключение. Ее задача ниже уровнем: принять сетевой трафик, сопоставить его с правилами, выбрать исходящий маршрут и передать дальше через нужный протокол.

Официальный репозиторий SagerNet/sing-box описывает проект коротко: The universal proxy platform. На практике пользователь видит это в трех формах: как встроенное ядро внутри графического клиента, как отдельную команду sing-box run -c config.json или как JSON-конфиг, который импортируется в приложение. Поэтому статья не про «какую кнопку нажать», а про то, как читать логику sing-box без мистики.

#Где пользователь встречает sing-box

Самый частый сценарий — вы не ставили sing-box отдельно, но клиент пишет, что работает на sing-box core. Так устроены многие современные proxy/VPN-приложения: интерфейс отвечает за импорт подписки, выбор узла и переключатели, а sing-box внутри выполняет сетевую работу. Если в таком клиенте ломается TUN или DNS, причина может быть не в красивой оболочке, а в том, какие настройки она сгенерировала для ядра.

Второй сценарий — ручной JSON. Его используют на Linux-серверах, роутерах, VPS, desktop-машинах и в продвинутых Android/iOS-схемах. JSON удобен тем, что вся логика видна в одном файле: DNS-серверы, входы, выходы, правила, selector, urltest, TUN и исключения. Но удобство обманчиво: одна старая опция, неправильный tag или неверный DNS final могут дать симптом «интернет пропал», хотя сервер и протокол исправны.

sing-box — не формат подписки сам по себе.Подписка может отдавать sing-box JSON, Clash YAML, VLESS-ссылки или другой формат. Клиент должен понимать именно тот формат, который вы импортируете.

#Как устроен конфиг sing-box

Базовый конфиг обычно читается блоками. Не обязательно понимать каждую опцию сразу; важнее видеть, где начинается входящий трафик, куда он выходит и какие правила стоят между ними.

РазделЧто описываетЧто ломается при ошибке
logУровень логов и вывод диагностики.Проблему трудно найти: клиент молчит или показывает слишком мало деталей.
dnsDNS-серверы, правила резолвинга, стратегия IPv4/IPv6, cache и FakeIP.Сайты не открываются, открывается не тот IP, появляются DNS-утечки.
inboundsОткуда sing-box принимает трафик: локальный proxy, TUN, серверный порт.Приложения идут мимо proxy, TUN не поднимается, порт не слушается.
outboundsКуда sing-box отправляет трафик: direct, block, VLESS, Trojan, Hysteria2, selector.Профиль подключается не туда, fallback не работает, direct/block перепутаны.
routeПравила выбора outbound по домену, IP, процессу, протоколу или rule-set.Часть сайтов идет напрямую, локальная сеть ломается, возникает routing loop.

Почти все важные связи держатся на tag. Inbound имеет tag, outbound имеет tag, DNS server имеет tag, route rules ссылаются на outbound tag, DNS final выбирает DNS server tag. Если в одном месте написано proxy, а в другом Proxy, для JSON это разные строки. Поэтому при ручной правке первым делом проверяют не «протокол вообще», а совпадение тегов.

VLESS

Переходите к настройке VLESS

Если вы уже понимаете, как работает VLESS, получите данные для подключения и добавьте их в совместимое приложение.

#Inbound и outbound простыми словами

Inbound — это вход. Он отвечает на вопрос: как трафик попадает в sing-box? На компьютере это может быть локальный SOCKS/HTTP proxy, mixed inbound для приложений, TUN-интерфейс или firewall redirection. На сервере inbound часто слушает внешний порт и принимает VLESS, Trojan, Shadowsocks, Hysteria2 или другой протокол.

Outbound — это выход. Он отвечает на вопрос: куда отправить трафик после обработки? Это может быть proxy-сервер, прямое подключение direct, блокировка block, DNS outbound, ручной selector или urltest, который выбирает узел по проверке доступности.

  • mixed, socks, http во входах удобны для локального proxy-режима.
  • tun во входах нужен, когда клиент должен перехватывать трафик системно, а не только от приложений с proxy-настройкой.
  • vless, trojan, shadowsocks, hysteria2, tuic могут быть как частью серверной, так и клиентской схемы, но поля inbound и outbound у них разные.
  • direct не значит «плохо»: через direct обычно пускают локальную сеть, адреса роутера, captive portal, иногда региональные или служебные домены.
  • block полезен для явного запрета рекламы, трекеров или нежелательных маршрутов, но ошибочное правило может заблокировать нужный сервис.

#Почему нельзя просто заменить outbound

Новички часто берут чужой JSON и меняют только адрес сервера. Это рискованно. У VLESS могут быть Reality, TLS, flow, fingerprint и transport-поля. У Hysteria2 важны QUIC-параметры и пароль. У WireGuard — ключи и адреса. У selector/urltest — список вложенных outbound. Если поменять только host и port, конфиг может остаться синтаксически валидным, но логически неверным.

#TUN: когда нужен и почему ломается

Официальный manual sing-box разделяет клиентские подходы на system proxy, firewall redirection и virtual interface. System proxy обычно работает как HTTP proxy и не покрывает весь трафик: часть TCP-клиентов, UDP, ICMP и DNS могут идти мимо. TUN относится к virtual interface: приложение создает виртуальный сетевой интерфейс и превращает сетевой трафик устройства в поток, который можно маршрутизировать через sing-box.

Пользовательски это выглядит просто: включил TUN — весь трафик пошел через приложение. Технически это сложнее. ОС должна разрешить виртуальный адаптер, маршруты должны быть проставлены без петли, DNS должен уходить туда, куда ожидается, а локальная сеть и служебные адреса не должны случайно попасть в чужой outbound.

TUN включают после базовой проверки.Сначала убедитесь, что профиль работает в обычном proxy-режиме. Если сразу включить TUN, custom DNS и сложные route rules, диагностика станет в несколько раз труднее.

В конфигурации TUN часто встречаются auto_route, strict_route, адрес виртуального интерфейса и исключения маршрутов. В route-разделе для TUN важны auto_detect_interface или явный default_interface: официальная документация связывает это с предотвращением routing loops, когда исходящие соединения sing-box случайно начинают маршрутизироваться обратно в сам TUN.

#DNS и routing: одна система, а не два отдельных переключателя

DNS в sing-box не сводится к выбору «Google или Cloudflare». Раздел dns задает список серверов, DNS rules, final server, стратегию IPv4/IPv6, cache, optimistic cache и FakeIP. Раздел route выбирает outbound для соединений. Эти части пересекаются: домен нужно сначала разрешить, но решение о том, каким DNS его резолвить и куда отправить результат, зависит от правил.

В TUN-сценариях часто используется действие hijack-dns: DNS-запросы перехватываются и отправляются во внутренний DNS-модуль sing-box. Это помогает контролировать утечки, но не является магической защитой. Если DNS rules противоречат route rules, можно получить ситуацию, где домен резолвится через один маршрут, а соединение уходит через другой.

  • dns.final выбирает DNS-сервер по умолчанию, если правило не сработало.
  • route.final выбирает outbound по умолчанию; если он пустой, используется первый outbound.
  • strategy влияет на IPv4/IPv6: неправильная стратегия может ломать сети с плохой IPv6-поддержкой.
  • rule_set помогает подключать большие списки доменов или IP, но требует актуального формата и доступного источника.
  • sniff может уточнять домен/протокол до маршрутизации, но не заменяет правильные DNS-правила.

#Практический порядок чтения правил

  1. Найдите все outbounds. Выпишите tags: например proxy, direct, block, dns-out, selector.
  2. Найдите route final. Это маршрут по умолчанию, если ни одно правило не подошло.
  3. Проверьте правила сверху вниз. Правила обычно читаются по порядку: раннее широкое правило может перехватить то, что вы ожидали отправить позже.
  4. Сравните DNS final и route final. Они не обязаны совпадать, но должны быть осмысленны.
  5. Проверьте исключения локальной сети. Адреса роутера, принтера, NAS и корпоративных ресурсов часто должны идти direct.

#Какие клиенты используют sing-box

Официальная документация Project S перечисляет sing-box for Android и sing-box for Apple platforms как графические клиенты с unified experience и платформенными функциями; desktop на этой странице отмечен как work in progress. При этом вокруг sing-box выросла широкая экосистема сторонних клиентов. Их нужно оценивать отдельно: sing-box внутри не гарантирует качество интерфейса, безопасность обновлений и корректный импорт подписок.

sing-box for AndroidОфициальный экспериментальный Android-клиент от SagerNet/Project S. Подходит тем, кто хочет максимально близкую к upstream логику.
sing-box for Apple platformsОфициальный экспериментальный клиент для iOS, macOS и Apple tvOS, связанный с Project S.
HiddifyМультиплатформенный клиент, который использует sing-box и делает акцент на remote profiles, подписках и более простом интерфейсе.
NekoBoxAndroid-клиент из экосистемы MatsuriDayo, часто используется для VLESS, Shadowsocks, Trojan и sing-box-сценариев.
KaringКроссплатформенная proxy-утилита, которая заявляет поддержку routing rules для Clash и sing-box.
v2rayN и похожие desktop-клиентыМогут использовать sing-box как одно из ядер, особенно для TUN, подписок и современных протоколов.

Выбор клиента зависит не только от платформы, но и от формата профиля. Один клиент хорошо импортирует VLESS-ссылки, другой удобнее для sing-box JSON, третий лучше работает с Clash/mihomo YAML. Если провайдер дает несколько форматов, выбирайте формат под конкретный клиент, а не пытайтесь исправлять импорт вручную.

#Риски случайных конфигураций

sing-box-конфиг — это не безобидный текст. Он может направлять трафик, менять DNS, блокировать домены, отправлять часть соединений напрямую, включать FakeIP, поднимать TUN и использовать удаленные rule-set. Поэтому не стоит импортировать JSON от неизвестного источника только потому, что «у всех заработало».

  • Утечки DNS. DNS может идти не через тот сервер или не через тот outbound, который вы ожидали.
  • Прямой маршрут вместо proxy. Слишком широкое direct-правило может вывести чувствительный домен мимо туннеля.
  • Чужие rule-set. Удаленные списки правил могут измениться после импорта и повлиять на маршрутизацию.
  • Устаревшие поля. sing-box активно меняется: некоторые опции помечаются deprecated и удаляются в новых версиях.
  • Системные конфликты. TUN может конфликтовать с другим VPN-клиентом, Docker, VirtualBox, корпоративным агентом, firewall или IPv6-настройками.
  • Ложное чувство безопасности. Слово sing-box не говорит, кто владеет сервером и что он делает с трафиком на выходе.

#Что проверять, если sing-box не работает

Диагностику лучше вести слоями. Не меняйте сразу DNS, TUN, протокол и клиент. Сначала докажите, что конфиг запускается, затем что inbound принимает трафик, затем что outbound соединяется с сервером, и только после этого разбирайте route/DNS.

  • JSON не запускается. Проверьте синтаксис, лишние запятые, кавычки, поддержку опций вашей версией sing-box и совпадение типов с документацией.
  • Профиль импортировался, но подключения нет. Сравните host, port, protocol, security, transport, UUID/password и версию core. Старый клиент может не понимать новые поля.
  • Работает браузер, но не приложения. Вероятно, включен только system proxy. Приложения без поддержки proxy, UDP и ICMP могут идти мимо.
  • После TUN пропал интернет. Отключите TUN, проверьте обычный proxy, затем смотрите права администратора, виртуальный адаптер, auto_route, auto_detect_interface, strict_route и конфликт с другим VPN.
  • Открываются не все сайты. Ищите широкое direct/block правило, устаревший rule-set, неправильный route.final или проблему IPv6 strategy.
  • Есть DNS-утечки. Проверьте dns.servers, dns.rules, dns.final, наличие hijack-dns в TUN-сценарии и поведение системного DNS ОС.
  • Локальная сеть недоступна. Проверьте исключения для private IP, роутера, принтера, NAS и корпоративных подсетей. Иногда strict routing специально делает неподдерживаемую сеть недоступной.
  • На Windows/macOS/Linux работает по-разному. Отличаются права, firewall, DNS-поведение, IPv6, интерфейсы и драйверы TUN. Не переносите настройки один в один без проверки платформенных ограничений.

#Итог

sing-box стоит понимать как сетевой конструктор: inbound принимает трафик, outbound отправляет его дальше, DNS решает имена, route выбирает путь, а TUN расширяет схему до системного уровня. Эта архитектура мощная, но она требует аккуратности. Если вы видите sing-box в клиенте, полезно знать не только название протокола, но и полный маршрут: от приложения до inbound, через DNS/routing, к выбранному outbound.

Практический минимум такой: используйте официальные источники клиента и core, не импортируйте случайные JSON-конфиги, проверяйте версию sing-box, сначала запускайте простой профиль без TUN, затем включайте DNS/routing настройки по одной. Тогда sing-box остается понятным инструментом, а не черным ящиком, где любое изменение выглядит как «VPN сломался».

Мини-чеклист

  • проверили официальный источник приложения или документации
  • подготовили рабочую ссылку, QR-код или subscription URL
  • импортировали профиль без лишних правок
  • проверили подключение на одном понятном сценарии
  • сохранили источник профиля для будущего обновления

Частые ошибки

СимптомПричинаЧто сделать
DNS ведет себя нестабильноСмешались системные и клиентские DNS-правила.Проверьте настройки клиента и временно отключите экспериментальные правила.
Профиль не импортируетсяСсылка обрезана, содержит лишний текст или неподдерживаемый формат.Скопируйте URL заново и проверьте начало ссылки.
Подключение включено, но сайт не открываетсяDNS, routing или выбранный узел не подходят для сценария.Вернитесь к базовым настройкам и проверьте один домен.
Инструкция устарелаВерсия клиента, ОС или документации изменилась после публикации.Проверьте дату обновления и отправьте сообщение об ошибке.

История изменений

  1. : обновлены источники, FAQ и практические шаги.
  2. : опубликована первая версия материала.
Сообщить об ошибке
Было полезно?

Практический шаг

Готовы перейти к подключению?

Начните с 4 дней бесплатного доступа и используйте данные для настройки VLESS-подключения.

Вопросы и ответы

sing-box это VPN-сервис или ядро для клиентов?

sing-box не является VPN-провайдером и не выдает сервер сам по себе. Это универсальная proxy-платформа: она принимает трафик через inbound, выбирает правила DNS и маршрутизации, затем отправляет соединение через нужный outbound. Поэтому для работы нужен профиль, подписка или собственный сервер.

Где скачать sing-box и как не попасть на поддельную сборку?

Ориентируйтесь на официальный репозиторий SagerNet/sing-box на GitHub, официальную документацию Project S и страницы sing-box for Android или sing-box for Apple platforms. Не ставьте сборки с неизвестных APK-каталогов и сайтов с пометками mod, pro или repack: такой клиент будет видеть ваши профили, DNS и маршруты.

Как быстро понять, что делают inbounds и outbounds в конфиге?

Inbound отвечает за вход трафика в sing-box: локальный SOCKS/HTTP proxy, mixed inbound, TUN или серверный порт. Outbound отвечает за выход: direct, block, VLESS, Trojan, Shadowsocks, WireGuard, selector или urltest. При чтении JSON сначала проверьте tags, потому что route и DNS правила ссылаются именно на них.

Зачем включать TUN в sing-box, если уже есть системный прокси?

System proxy обычно покрывает только приложения, которые умеют использовать HTTP или SOCKS proxy, и может не перехватывать UDP, DNS или часть системного трафика. TUN создает виртуальный сетевой интерфейс и позволяет направлять трафик устройства через правила sing-box. Его лучше включать после проверки простого proxy-режима.

Почему после импорта JSON в sing-box подключение есть, но сайты не открываются?

Рабочий импорт не доказывает, что весь профиль логически верен. Проверьте версию core, устаревшие поля, совпадение tag в route и outbounds, route.final, dns.final, IPv4/IPv6 strategy и TUN-настройки. Если включены сложные правила, временно оставьте один понятный outbound и верните DNS/routing по одному изменению.

Как уменьшить риск DNS-утечек при настройке sing-box?

Проверьте dns.servers, dns.rules, dns.final и то, куда route отправляет DNS-запросы. В TUN-сценариях часто нужен hijack-dns, но он должен сочетаться с route rules и IPv6-настройками. Отключите браузерный DoH для диагностики и сравнивайте результат с логами клиента, а не только с одним DNS leak test.

Что читать дальше

Диагностика

TUN mode: что это за режим в VPN и proxy-клиентах

TUN mode создает виртуальный сетевой интерфейс и перехватывает IP-пакеты на уровне системы. Это удобно для всего устройства, но требует аккуратных DNS, маршрутов и прав ОС.

Источники статьи