sing-box 2026: настройка с нуля и сравнение с Hiddify
Что такое sing-box, как поднять клиент с AmneziaWG, VLESS и Reality, и чем он отличается от Hiddify Next.
Скачали свежий sing-box. Открыли пример конфига из официальной wiki, вставили свои VPS-данные и получили FATAL[0000] missing tag in inbound. Поправили JSON, перезапустили, и теперь FATAL[0000] empty server name in tls outbound. Через час правок конфиг вроде валидный, бинарь запускается, в логах тишина — но соединение всё равно не идёт. Знакомая история для всех, кто переходил с Hiddify на sing-box без обёрток. Hiddify прятал JSON за UI, а sing-box честно показывает, насколько эта конфигурация многослойная.
Этот текст — про то, что такое sing-box на самом деле, чем он отличается от Hiddify Next (внутри которого, кстати, тоже sing-box), и какие минимальные конфиги нужны, чтобы поднять AmneziaWG-outbound или VLESS+Reality на одном клиенте. Без общих слов про «новое поколение». Техническая база плюс три рабочих JSON-примера для копирования.
Если вам нужно «просто чтобы работало» — пройдите по короткой навигации ниже, она поможет сразу понять, нужен ли вам этот текст.
Подходит ли sing-box лично вам? Короткий тест
Найдите свою ситуацию — обычно ответ виден сразу.
| Ваша ситуация | Что выбрать |
|---|---|
| «Просто хочу рабочий туннель без настройки» | Готовый AmneziaWG-туннель от Molystrix — конфиг QR-кодом на email, тарифы здесь |
| Уже используете Hiddify, думаете переходить на sing-box без обёрток | Секция sing-box vs Hiddify ниже — короткий ответ зависит от того, нужна ли вам ручная правка JSON |
| Есть VPS, хочется собрать всё с нуля | Секции Setup AmneziaWG outbound и Setup VLESS+Reality outbound — два минимальных JSON-конфига |
| Не понимаете что такое sing-box | Следующая секция «Что такое sing-box» |
| Получили AmneziaWG-конфиг от провайдера и ищете чем его открыть на телефоне | Берите профильное приложение AmneziaWG из статьи про установку на всех платформах — для этой задачи sing-box избыточен |
| Нужен туннель на роутере / OpenWRT | Sing-box на OpenWRT поддерживается, но конфигурация отличается — отдельная история |
Первая строка — переходите на тарифы, читать дальше нет смысла. Вторая, третья — читайте дальше, основной разбор как раз про вас.
Что такое sing-box
Sing-box (sagernet/sing-box) — это универсальный туннель-фреймворк с открытым кодом на Go, написанный разработчиком под ником nekohasekai в 2022 году. Тот же автор делает NekoBox для Android и NekoBoxForWindows, так что sing-box и его GUI-обёртки — близкие родственники, но не одно и то же.
Архитектурно sing-box — один статический бинарь, который читает JSON-конфиг и одновременно играет роль и клиента (inbound: SOCKS/HTTP/TUN на локальной машине), и сервера (outbound: WireGuard, AmneziaWG, VLESS, VMess, Trojan, Shadowsocks, Hysteria2, TUIC, SSH). В минимальной клиентской конфигурации это значит «локальный TUN или SOCKS proxy» → «исходящее соединение в туннель» через выбранный протокол.
Лицензия GPL-3.0. Релизный цикл — мажорная версия раз в 3-6 месяцев, минорные патчи раз в 1-2 недели. Сейчас актуальная стабильная ветка — 1.10.x, экспериментальная — 1.11.x.
Что sing-box поддерживает из протоколов:
- WireGuard и AmneziaWG (форк WireGuard с обфускацией пакетов от команды Amnezia, добавляет junk-байты
jc/jmin/jmax, magic header bytess1/s2и заменяет типы пакетов черезh1-h4) - VLESS (с XTLS Vision flow и поддержкой Reality security-режима)
- VMess (старый протокол V2Ray, поддерживается ради совместимости)
- Trojan (маскировка под HTTPS-сервер)
- Shadowsocks + Shadowsocks-2022 (новая AEAD-схема)
- Hysteria и Hysteria2 (QUIC-based UDP с агрессивным congestion control)
- TUIC v5 (нишевой QUIC)
- SOCKS и HTTP (стандартные прокси-протоколы)
- SSH (туннелирование через SSH-сессию)
Routing engine. Sing-box умеет писать правила по доменам, IP-диапазонам, портам, processName, geosite-наборам (geosite:youtube, geosite:github, geosite:cn). Это позволяет делать осмысленный split — например, ChatGPT и GitHub через туннель, российские домены напрямую.
sing-box vs Hiddify — кто кому родственник
Распространённая путаница: «sing-box или Hiddify — что лучше?». Сравнение поставлено некорректно: Hiddify Next — это GUI-обёртка вокруг ядра sing-box. То есть когда вы используете Hiddify, у вас под капотом всё равно работает sing-box.
История проще, чем кажется. Команда Hiddify в первой версии (Hiddify Manager 2022-2023) форкнула sing-box-core и собрала вокруг него админку для self-hosted сервера + клиент. В 2024 году они начали мейнтейнить собственный форк sing-box (Hiddify-Core) с дополнительными патчами, но Hiddify Next до сих пор использует sing-box-core как основной движок. Hiddify-форк обычно отстаёт от upstream sing-box на 1-3 месяца — фиксы и новые протоколы приходят в sing-box раньше.
Что это значит на практике:
| Параметр | sing-box raw | Hiddify Next |
|---|---|---|
| Интерфейс | CLI (sing-box run -c config.json) или нативные GUI-клиенты SFI/SFA | Полноценный GUI на всех платформах |
| Конфиг | JSON руками или через wg-quick-to-json | Импорт по ссылке (vless://..., subscription URL) |
| Свежесть фич | Upstream, новые протоколы первыми | Догоняет sing-box на 1-3 месяца |
| Производительность | Чуть быстрее (нет UI overhead) | Разница обычно в пределах 5-10% throughput, заметно только на гигабитных каналах |
| Reality | Поддержка появляется в upstream, потом портируется в Hiddify | Обычно на 2-3 релиза позже |
| Импорт subscription | Поддержан, но через CLI команды | Кнопка «Add Profile from URL» в GUI |
| Дебаг и логи | Прямой вывод в stdout / --log-level debug | Логи через GUI, фильтрация ограниченная |
| Кому подходит | Опытные пользователи, готовые к JSON | Большинству хватит импорта ссылки в три клика |
Если вам нужно «открыть VLESS-ссылку и подключиться» — Hiddify Next делает это в три клика. Если нужно собрать сложный конфиг с несколькими outbound, custom routing rules, fallback-логикой — sing-box-бинарь напрямую даёт доступ ко всем возможностям без UI-абстракций. Полный разбор Hiddify и его особенностей — в материале про настройку Hiddify в 2026.
Клиенты sing-box по платформам в 2026
Sing-box CLI — это бинарь без GUI. Команда sagernet выпускает официальные нативные клиенты для каждой основной платформы — это тонкие обёртки вокруг ядра с минимальным UI для импорта конфигов и переключения тумблера.
iOS и iPadOS — приложение SFI (Sing-Box For iOS) в App Store от команды SagerNet, бесплатное, без рекламы. Та же сборка работает на iPad. Поддерживает все протоколы ядра, импорт ссылок (vless://, ss://, trojan://, subscription URL), TUN-режим через Personal VPN profile. На iOS NetworkExtension работает через PacketTunnelProvider — те же ограничения по фоновой работе, что у любого WireGuard-семейства.
macOS — два варианта. На современных Mac на Apple Silicon — то же приложение SFI из App Store, как iOS-on-Mac универсальная сборка. Альтернативно через Homebrew: brew install sing-box поставит CLI-бинарь, который запускается через sing-box run -c ~/.config/sing-box/config.json и через системные launchd-юниты.
Android — приложение SFA (Sing-Box For Android) в Google Play и на GitHub-релизах (APK файлы для устройств без Google-сервисов). Тот же разработчик, тот же бесплатный open-source. Использует системный VpnService API. Альтернативные GUI на том же ядре — NekoBoxForAndroid (от того же автора, более продвинутый UI) и Hiddify Next.
Windows — три рабочих варианта. Sing-box CLI: скачать с GitHub-релизов sagernet/sing-box, распаковать sing-box.exe, запустить как сервис через NSSM или вручную из консоли с правами администратора (TUN-режим требует прав). Hiddify Next под Windows — GUI поверх sing-box-core. NekoBoxForWindows — отдельный GUI от того же автора что и sing-box, более тонкая обёртка. Для большинства Windows-пользователей удобнее Hiddify Next или NekoBox.
Linux. CLI-бинарь с GitHub-релизов, systemd-юнит из пакета sing-box в репозиториях большинства дистрибутивов (Arch, Debian unstable, openSUSE Tumbleweed). На стабильных Ubuntu/Debian версия в apt обычно отстаёт — бинарь с GitHub-релизов свежее. Для GUI — Hiddify Next в формате AppImage. Большинство Linux-пользователей sing-box работают через консоль.
Все указанные клиенты — open-source, бесплатные, без подписок и in-app purchases. За свободу JSON-конфигов sing-box просит ваше время на их написание.
Если уже неделю возитесь с sing-box JSON-конфигами и каждое обновление ломает совместимость — возможно, проще взять готовый AmneziaWG-туннель без построения с нуля. У нас Molystrix — 249 ₽ в месяц за три устройства, конфиг QR-кодом на email после оплаты. Импорт в приложение AmneziaWG из App Store или Google Play занимает минуту. → Посмотреть тарифы
Setup AmneziaWG outbound в sing-box — минимальный конфиг
Если у вас уже есть .conf файл AmneziaWG (от своего сервера или от провайдера), его нужно конвертировать в JSON-формат sing-box. Стандартный wg-quick-формат выглядит примерно так:
[Interface]
PrivateKey = aB3cD4eF5gH6iJ7kL8mN9oP0qR1sT2uV3wX4yZ5aB6c=
Address = 10.8.0.2/24
DNS = 1.1.1.1
Jc = 3
Jmin = 50
Jmax = 1000
S1 = 95
S2 = 65
H1 = 1234567890
H2 = 2345678901
H3 = 3456789012
H4 = 4567890123
[Peer]
PublicKey = xY9zA8bC7dE6fG5hI4jK3lM2nO1pQ0rS9tU8vW7xY6z=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 198.51.100.7:51820
Минимальный sing-box-конфиг для того же подключения через AmneziaWG-outbound:
{
"log": {"level": "info"},
"inbounds": [
{"type": "tun", "interface_name": "sb-tun0", "address": ["172.19.0.1/30"], "auto_route": true, "stack": "system"}
],
"outbounds": [
{
"type": "wireguard",
"tag": "awg-out",
"server": "198.51.100.7",
"server_port": 51820,
"local_address": ["10.8.0.2/24"],
"private_key": "aB3cD4eF5gH6iJ7kL8mN9oP0qR1sT2uV3wX4yZ5aB6c=",
"peer_public_key": "xY9zA8bC7dE6fG5hI4jK3lM2nO1pQ0rS9tU8vW7xY6z=",
"amnezia_wg": {
"jc": 3, "jmin": 50, "jmax": 1000,
"s1": 95, "s2": 65,
"h1": 1234567890, "h2": 2345678901,
"h3": 3456789012, "h4": 4567890123
}
}
]
}
Точное имя поля amnezia_wg и его вложенных параметров может слегка меняться между мажорными релизами sing-box (1.9 → 1.10 → 1.11). Если ваша версия ругается на «unknown field» — открывайте changelog в sagernet/sing-box на GitHub и проверяйте текущий формат.
Запуск: sing-box run -c config.json. Через несколько секунд в логах появится tun started и wireguard handshake complete; curl https://ifconfig.me должен показать IP вашего сервера.
Setup VLESS+Reality outbound в sing-box
Для VLESS+Reality на стороне клиента нужно знать пять параметров от сервера: адрес и порт, UUID, public key (X25519), short ID, имя dest-сайта (SNI camouflage). Минимальный конфиг:
{
"log": {"level": "info"},
"inbounds": [
{"type": "tun", "interface_name": "sb-tun0", "address": ["172.19.0.1/30"], "auto_route": true, "stack": "system"}
],
"outbounds": [
{
"type": "vless",
"tag": "reality-out",
"server": "203.0.113.45",
"server_port": 443,
"uuid": "12345678-90ab-cdef-1234-567890abcdef",
"flow": "xtls-rprx-vision",
"tls": {
"enabled": true,
"server_name": "www.microsoft.com",
"utls": {"enabled": true, "fingerprint": "chrome"},
"reality": {
"enabled": true,
"public_key": "yourServerPublicKeyHere_X25519_base64",
"short_id": "abcd1234"
}
}
}
]
}
Что здесь происходит: server и server_port — ваш VPS, обычно 443 (Reality чаще ставят на стандартный HTTPS-порт). uuid — идентификатор пользователя, генерируется на сервере. flow: xtls-rprx-vision — режим, который убирает двойной TLS-handshake (внутренний клиентский TLS не оборачивается ещё раз во внешний). server_name — это dest-сайт, под который маскируется handshake (www.microsoft.com, www.apple.com, dl.google.com — список зависит от того, что выбрал админ сервера). utls.fingerprint: chrome — sing-box будет имитировать TLS-fingerprint браузера Chrome (доступны также firefox, safari, ios, edge). public_key и short_id — те самые параметры, которые отдаёт серверный конфиг Reality (X25519-ключи через xray x25519, short ID через openssl rand -hex 8).
Если сервер собран через 3X-UI или Marzban — оба умеют выдавать готовую ссылку формата vless://uuid@server:443?...&pbk=...&sid=...&fp=chrome&sni=...&type=tcp&security=reality#name. Эту ссылку sing-box может прочитать через утилиту sing-box convert или импортировать в SFI/SFA из буфера обмена. Глубже про Reality и его серверную часть — в материале про VLESS Reality.
Routing rules — разделить трафик на туннель и напрямую
Главная фича sing-box по сравнению с обычным WireGuard-клиентом — routing-движок. Можно описать правила, по которым часть трафика идёт через туннель, остальное — напрямую через основной интерфейс. Например, рабочие сервисы (ChatGPT, Figma, GitHub) через outbound-туннель, а российские домены и общий трафик — direct. Минимальный пример:
{
"log": {"level": "info"},
"inbounds": [
{"type": "tun", "interface_name": "sb-tun0", "address": ["172.19.0.1/30"], "auto_route": true, "stack": "system"}
],
"outbounds": [
{"type": "wireguard", "tag": "tunnel", "...": "..."},
{"type": "direct", "tag": "direct"},
{"type": "block", "tag": "block"}
],
"route": {
"rules": [
{"domain_suffix": ["openai.com", "chatgpt.com", "figma.com", "github.com", "githubusercontent.com", "notion.so"], "outbound": "tunnel"},
{"geosite": ["category-ads-all"], "outbound": "block"},
{"geoip": ["ru"], "outbound": "direct"},
{"domain_suffix": [".ru", ".рф"], "outbound": "direct"}
],
"final": "direct"
}
}
Sing-box читает правила сверху вниз и применяет первое сработавшее. Если домен в списке международных сервисов — идёт в туннель. Если относится к категории рекламы (geosite-набор) — блок. IP в зоне RU отправляется напрямую, как и домены .ru/.рф. Остальной трафик уходит в direct через секцию final.
Подводный камень: geosite и geoip базы — это отдельные файлы, которые надо подключать через секцию route.geosite и route.geoip (указать URL для автоматической загрузки и кэширования). Sing-box умеет это делать сам через auto_detect_interface, но при первом запуске может потребоваться несколько секунд на скачивание geosite.db и geoip.db (несколько мегабайт каждый).
Альтернатива: вместо domain-suffix задавать process_name правила — например, «весь трафик от приложения Chrome — в туннель, остальное direct». Работает на macOS и Windows, на Linux требует cgroup-режим, на iOS и Android process-name недоступен — мобильные ОС не дают приложениям доступ к этой информации из других процессов.
Подводные камни sing-box в России 2026
Несколько моментов, которые редко описывают в коротких гайдах:
Hysteria2 на UDP режется на отдельных провайдерах. Часть российских мобильных операторов и часть публичных Wi-Fi агрессивно ограничивают UDP-трафик к нестандартным портам. Hysteria2 поверх QUIC работает по UDP, и в этих сетях соединение поднимается на первых нескольких пакетах, потом встаёт. Лечится: переход на TCP-based протокол (VLESS+Reality на 443, Trojan), либо смена порта Hysteria на 443 (помогает не везде — DPI смотрит не только на порт, но и на структуру пакетов).
Reality чувствителен к версии sing-box на обеих сторонах. При большом разрыве версий sing-box между сервером и клиентом handshake может не пройти из-за расхождений в парсинге Reality-параметров. Держите версии в одной ветке (1.10.x на обеих сторонах). Hiddify Next с его отставанием на 2-3 релиза будет ругаться, если на вашем сервере что-то совсем свежее.
SFA на Android заметно расходует батарею при сложных routing-правилах. Если в конфиге много правил по доменам и IP-наборам, sing-box на каждое исходящее подключение делает domain resolution и lookup в базе. На активных сетях это нагружает CPU и расходует батарею. Лечится: упростить routing до final: tunnel без правил, или ограничить domain_suffix самым минимумом.
Auto_detect_interface на Windows ломается после Windows Update. Sing-box использует системный API для определения активного сетевого интерфейса. После некоторых обновлений Windows этот API меняет поведение, и sing-box перестаёт правильно определять «через какой интерфейс выходить наружу из туннеля». Симптом: туннель поднимается, но трафик не идёт. Лечится: обновить sing-box до свежей версии, либо вручную прописать default_interface в конфиге.
SFI на iOS отваливается в фоне после часа простоя. Та же проблема, что у любого приложения через NetworkExtension: iOS усыпляет фоновое расширение, особенно в режиме энергосбережения. TUN-туннель пропадает, sing-box не может его автоматически восстановить. Лечится: вручную тапнуть «Connect» в SFI после возвращения к телефону, либо переключиться на родное приложение AmneziaWG (UDP-туннель в нём держится в фоне стабильнее, чем TUN через sing-box).
Часто задаваемые вопросы
В чём разница sing-box и Hiddify?
Hiddify Next — это GUI-клиент, внутри которого работает ядро sing-box. То есть sing-box и Hiddify не альтернативы, а слои одного стека: sing-box — движок, Hiddify — оболочка. Прямое использование sing-box (CLI + JSON-конфиг или нативные SFI/SFA-клиенты) даёт прямой доступ к свежим версиям и ко всем возможностям ядра. Hiddify проще в первом подключении (импорт ссылки одной кнопкой) и удобнее для тех, кто не хочет редактировать JSON руками.
Можно ли использовать sing-box на iPhone бесплатно?
Да. Официальное приложение SFI (Sing-Box For iOS) от команды SagerNet есть в App Store бесплатно, без рекламы и без in-app purchases. Поддерживает все протоколы ядра, импорт ссылок типа vless://, ss://, trojan://, subscription URL. Та же сборка работает на iPad. На macOS через Mac Catalyst — то же приложение SFI можно установить из App Store на современных Mac на Apple Silicon.
Поддерживает ли sing-box AmneziaWG-обфускацию (jc/jmin/jmax/h1-h4)?
Да, начиная с релизной ветки 1.9 (точнее 1.9.0-alpha.10, август 2024) sing-box поддерживает все параметры AmneziaWG: junk-пакеты (jc, jmin, jmax), magic header bytes (s1, s2) и заменённые типы пакетов (h1, h2, h3, h4). В JSON-конфиге они задаются внутри блока amnezia_wg секции outbound. Имя конкретного поля может слегка отличаться между мажорными релизами — при обновлении проверяйте changelog в sagernet/sing-box.
sing-box vs V2Ray — что лучше в 2026?
V2Ray-core (v2ray/v2ray-core) почти не обновляется с 2022 года. Активные альтернативы — XRay-core (xtls/xray-core) и sing-box (sagernet/sing-box), обе независимые реализации. XRay-core старше, в нём появился Reality, у него больше серверных интеграций (3X-UI, Marzban). Sing-box моложе, активнее в добавлении новых протоколов (Hysteria2, TUIC v5 первыми появились здесь), и под его ядро написаны популярные GUI (Hiddify Next, NekoBox). На стороне клиента в 2026 sing-box обычно удобнее. На стороне сервера выбор зависит от того, с какой панелью вы работаете. Подробнее про различия V2Ray-семейства — в материале про V2Ray в России 2026.
Нужен ли VPS чтобы использовать sing-box?
Нужен, если вы поднимаете свой outbound-сервер. Sing-box — это клиент-сервер архитектура: на VPS работает sing-box в режиме inbound (принимает подключения), на ваших устройствах — sing-box в режиме outbound (отправляет трафик в туннель). Без сервера sing-box на клиенте просто не к чему подключиться. Альтернатива — взять готовый AmneziaWG-туннель от провайдера, и тогда sing-box не нужен вообще: достаточно профильного приложения AmneziaWG из App Store или Google Play.
Можно ли мешать AmneziaWG и VLESS в одном sing-box-конфиге?
Да. Sing-box умеет держать несколько outbound одновременно (разные tag) и маршрутизировать трафик по правилам. Можно сделать AmneziaWG как основной outbound для общего трафика и VLESS+Reality как fallback или для конкретных доменов. Конфиг будет иметь два outbound-блока с разными tag и правила в секции route.rules, направляющие трафик по этим тегам. На практике так делают редко — двойная инфраструктура с двумя серверами и двумя наборами ключей. Чаще выбирают что-то одно.
Какой клиент sing-box лучше — SFA, SFI, Hiddify Next, NekoBox?
Зависит от платформы и сценария. SFI/SFA (Sing-Box For iOS / Android) — официальные тонкие обёртки от команды SagerNet, минимальный UI, прямой доступ к свежим версиям ядра. NekoBox (Android и Windows) — от того же автора, более продвинутый интерфейс с поддержкой нескольких профилей. Hiddify Next — самый user-friendly, GUI на всех платформах, отстаёт от upstream sing-box на 1-3 месяца. Для большинства новичков — Hiddify Next или NekoBox. Для опытных пользователей с готовыми JSON-конфигами — SFI/SFA или sing-box CLI напрямую.
Логирует ли sing-box DNS-запросы?
По умолчанию в log.level = info sing-box пишет только базовые события (старт, остановка, handshake). DNS-запросы попадают в логи только при log.level = debug или trace. Если вы запускаете sing-box на чужом VPS (например, в качестве сервера для клиентов), стоит явно поставить log.level = warn и проверить, что нет записей в /var/log/, которые держат метаданные сессий дольше нужного. На клиентской стороне (SFI, SFA, Hiddify Next) логирование контролируется через настройки приложения и обычно ограничено уровнем info с автоматической ротацией.
Резюме
- Sing-box — движок, под которым крутятся Hiddify Next, NekoBox и официальные SFI/SFA-клиенты. Прямое использование даёт доступ к свежим версиям и всем возможностям ядра, цена — JSON-конфиги руками.
- Для нового self-hosted развёртывания в 2026 — sing-box или XRay-core, оба активно поддерживаются. Выбор зависит от того, какую панель (3X-UI, Marzban, Hiddify Manager) вы используете на сервере.
- На стороне клиента sing-box удобнее для технических пользователей со специфическими сценариями (split routing, кастомные правила, fallback между outbound). Для «импортировал и подключился» — Hiddify Next или NekoBox поверх того же ядра.
- Если задача — стабильный туннель без админки, sing-box избыточен. Готовый AmneziaWG-туннель снимает всю операционную нагрузку: один сервер, один протокол, конфиг QR-кодом на email, импорт в нативное приложение AmneziaWG занимает минуту.
Molystrix — управляемый AmneziaWG-туннель, инфраструктура и параметры обфускации настроены за вас. После оплаты на email приходит QR-код и .conf-файл. Тариф 249 ₽ в месяц, до трёх устройств на одну подписку. Если на конкретном маршруте через время начинаются проблемы — поддержка перевыпускает конфиг с другим набором параметров, сервер остаётся тем же. Sing-box для этого не нужен: профильное приложение AmneziaWG из App Store или Google Play импортирует QR-код и подключается без JSON-правок.
Подключите Molystrix за 2 минуты
Защищённое соединение для работы с международными сервисами. Протокол AmneziaWG, серверы в Европе, 3 устройства, оплата картой или СБП.