todo/sing-box/sing-box-extended.md
loop-uh 08b4491545
Some checks failed
Published content check / validate (push) Failing after 3s
Завершить переезд базы знаний на Forgejo
Обновить правила репозитория и подписи исходников в 99 заметках, не затрагивая пользовательские незакоммиченные файлы. Сделать Forgejo Actions содержательным: проверять опубликованный commit, а не пустое рабочее дерево после checkout.
2026-08-07 08:27:28 +03:00

19 KiB
Raw Permalink Blame History

date tags aliases link
2026-07-17
sing-box
proxy
vpn
обход-блокировок
sing-box-extended
Sing-box Extended
расширенный sing-box
https://github.com/shtorm-7/sing-box-extended

📦 sing-box-extended — форк sing-box с расширенными функциями

[!info] О чём заметка Обзор sing-box-extended — форка универсальной прокси-платформы sing-box от разработчика shtorm-7, в который добавлены десятки протоколов и функций, отсутствующих в оригинале: от Cloudflare WARP и MTProxy до лимитеров трафика и веб-панели администратора. Про экосистему Xray (главную «соседнюю» платформу) — в xray/project-x.

TL;DR

  • sing-box — универсальная прокси-платформа на Go (проект SagerNet): один бинарник, который умеет быть и клиентом, и сервером для множества протоколов обхода блокировок; главная альтернатива Xray-core.
  • sing-box-extended — форк, куда автор добавил то, чего в оригинале нет: протоколы WARP, MASQUE, MTProxy, Mieru, OpenVPN, Snell, TrustTunnel и другие; лимитеры скорости/трафика/соединений; обфускацию amnezia-2-0/reference для WireGuard; VLESS encryption и xray/xhttp из мира Xray; веб-панель администратора и API для управления пользователями и узлами.
  • Проект живой: на июль 2026 — 46 релизов (последний v1.13.14-extended-2.5.1), около 400 звёзд на GitHub, поддержка через Telegram-чат.
  • Лицензия GPLv3 с оговоркой: производные работы не могут использовать название или подразумевать связь с проектом без согласия автора.
  • От стабильных релизов оригинала форк почти не отстаёт (стабильный v1.13.14 от 25 июня 2026 влит в тот же день); отставание на ~2,5 тыс. коммитов видно только от dev-ветки testing (альфы 1.14.0) — подробнее в разделе «Отстаёт ли форк от оригинала».
  • Это сторонний форк с экспериментальными функциями — для критичных к безопасности сценариев учитывай, что код ревьюит меньше глаз, чем у оригинала (подробнее в разделе «Оговорки»).

Что такое sing-box и зачем ему форк

sing-box — открытая платформа для проксирования от проекта SagerNet, написанная на Go. Идея: один универсальный бинарник, который заменяет зоопарк отдельных клиентов и серверов — он умеет xray/vless, VMess, Shadowsocks, Trojan, Hysteria/00-overview, TUIC, WireGuard и многое другое, плюс гибкую маршрутизацию трафика по правилам. На ядре sing-box работают популярные клиенты вроде NekoBox — пример настройки маршрутизации в таком клиенте есть в xray/clients-and-routing.

Проще говоря: sing-box — это «швейцарский нож» обхода блокировок, конкурент и во многом совместимая альтернатива xray/project-x, но с собственным форматом конфигурации (JSON со своей схемой) и собственным набором протоколов.

Оригинальный sing-box развивается консервативно: мейнтейнеры не спешат принимать экзотические протоколы и «серверные» функции вроде панелей управления. sing-box-extended закрывает этот разрыв — разработчик shtorm-7 ведёт форк (ветка extended), в который регулярно вливает upstream-изменения оригинала и поверх них добавляет собственные возможности. Версионирование это отражает: релиз v1.13.14-extended-2.5.1 означает «оригинальный sing-box 1.13.14 плюс extended-надстройка версии 2.5.1».

Что добавлено сверх оригинала

Список ниже — по README репозитория (июль 2026).

Протоколы

Протокол Что даёт
WARP Интеграция Cloudflare WARP через WireGuard — бесплатный выходной узел Cloudflare как outbound
MASQUE Прокси Cloudflare поверх QUIC/HTTP — второй, более современный транспорт WARP
MTProxy Сервер Telegram-прокси с FakeTLS — про сам протокол и его маскировку см. [[mtproxy/mtproto-zig
Mieru Прокси-протокол, спроектированный так, чтобы его было трудно классифицировать DPI
OpenVPN Клиент с поддержкой tls-auth, tls-crypt, tls-crypt-v2 — можно подключаться к обычным OpenVPN-серверам
TrustTunnel Обфусцированный VPN-протокол от AdGuard
Sudoku Обфускация трафика «на основе головоломок»
Snell Лёгкий шифрованный прокси, версии v1v5 (родом из экосистемы Surge)
SSH Клиент и сервер с аутентификацией по сертификатам
VPN Маршрутизируемый туннель поверх любых TCP-протоколов
Bond Агрегация нескольких каналов для суммирования пропускной способности
Fallback / Failover Группы outbound с приоритетным переключением и автоматическим восстановлением сессий при падении узла

Лимитеры — квоты и ограничения

В оригинальном sing-box нет встроенных инструментов для «продажи» или раздачи доступа с ограничениями. Форк добавляет четыре лимитера: Bandwidth (ограничение скорости загрузки/отдачи), Connection (число одновременных соединений), Traffic (квота объёма трафика на пользователя) и Rate (частота запросов). Это превращает sing-box-extended в основу для мультипользовательского сервиса без внешней панели.

Обфускация и заимствования из Xray

  • Amnezia 2.0 — обфускация WireGuard-трафика по схеме AmneziaWG; что это и как работает — в amnezia-2-0/reference.
  • VLESS encryption — пост-квантовое шифрование VLESS из Xray-core (в оригинальном sing-box не поддерживается).
  • XHTTP — транспорт Xray для работы через CDN; устройство и режимы — в xray/xhttp.
  • mKCP — надёжный транспорт поверх UDP из экосистемы V2Ray.

DNS

  • SDNS (DNSCrypt) — зашифрованные DNS-запросы по протоколу DNSCrypt (адреса серверов в формате DNS stamps).
  • DNS Fallback — параллельные или последовательные запросы к нескольким DNS-серверам с переключением при отказе.

Управление: панель и API

Форк включает серверную обвязку, которой нет в оригинале: Admin Panel (веб-интерфейс администратора), Manager (сервис конфигурации пользователей и узлов), Manager API (HTTP/gRPC API) и Node Manager API (синхронизация узлов с удалённым менеджером). Проще говоря: из одного бинарника можно поднять не только прокси-сервер, но и мини-панель управления парком серверов и пользователями — нишу, которую обычно закрывают отдельные панели типа Marzban или Remnawave.

Удобства конфигурации

  • Providers — подписки на списки outbound из локального файла, встроенного списка или удалённого URL; понимает форматы sing-box JSON, Clash YAML, SIP008 и share-ссылки.
  • Link Parser — outbound можно задать прямо share-ссылкой (vless://, vmess://, ss://, trojan://, hysteria://, hysteria2://, tuic://) вместо развёрнутого JSON.
  • Расширенные опции WireGuard и Unified Delay (унифицированное измерение задержки узлов, как в Clash).

Установка и примеры

Проект собирается из исходников на Go 1.26 (Makefile/goreleaser), готовые сборки публикуются в релизах на GitHub. Примеры конфигураций для добавленных функций лежат в директории examples репозитория. Формат конфига — тот же JSON sing-box, расширенный новыми типами inbound/outbound и сервисов.

Отстаёт ли форк от оригинала

Короткий ответ: от стабильных релизов — практически нет, от ветки разработки — да, и это нормально.

Форк ведётся поверх стабильной линии sing-box (1.13.x), а не поверх ветки разработки. Цифры на 17 июля 2026 (по данным GitHub):

  • Последний стабильный релиз оригинального sing-box — v1.13.14 от 25 июня 2026. Форк подхватил его в тот же день: релиз v1.13.14-extended-2.5.0 вышел 25 июня 2026. История релизов показывает ту же скорость и раньше (v1.13.12 → extended-сборки в начале июня 2026).
  • Сравнение веток extended ↔ upstream testing показывает отставание на 2485 коммитов — но testing это ветка разработки будущего 1.14.0 (на июль 2026 — alpha-стадия, v1.14.0-alpha.46). От неё отстают и сами стабильные релизы оригинала: это отставание от «завтрашней» версии, а не от актуальной.

Проще говоря: пользователь sing-box-extended получает те же исправления, что и пользователь обычного стабильного sing-box, с задержкой порядка дней. Не получает он только того, что пока живёт исключительно в альфах 1.14.0 — новых протоколов и фич ветки разработки (часть из них, впрочем, автор форка добавляет сам раньше upstream: например, Snell появился в extended до того, как upstream добавил его в 1.14.0-alpha).

[!note] Критично ли это для безопасности протоколов Скорее нет, с одной оговоркой. Исправления уязвимостей в стабильном коде upstream выпускает патч-релизами линии 1.13.x — форк вливает их в течение дней, так что окно уязвимости почти не расширяется. Оговорка в другом: криптография и реализации протоколов в форке частично живут в собственных форках библиотек автора (shtorm-7/sing, shtorm-7/wireguard-go и др. — см. sing-box/architecture) плюс в тысячах строк собственного кода — фиксы upstream-библиотек доезжают туда только после ручного перебазирования автором, а собственный код форка upstream не аудирует вовсе. То есть риск не в «отставании по коммитам», а в обычном для любого форка расширении поверхности кода, за которой следит один мейнтейнер.

Оговорки

[!warning] Сторонний форк — доверяй с оглядкой sing-box-extended — проект одного основного разработчика, а не команды SagerNet. Кодовая база большая (тысячи коммитов поверх оригинала), и её аудирует заметно меньше людей, чем upstream. Для личного обхода блокировок это обычно приемлемый риск, но для сценариев, где компрометация прокси-сервера критична, стоит взвесить: чем больше экспериментальных функций в одном бинарнике, тем шире поверхность атаки. Часть функций (панель, Manager API) по определению открывает управляющие интерфейсы — их нужно закрывать аутентификацией и firewall-ом так же тщательно, как любую панель управления.

[!note] Числа устаревают Статистика в заметке (46 релизов, ~400 звёзд, версия v1.13.14-extended-2.5.1, Go 1.26) — снимок по данным GitHub на июль 2026. Актуальное состояние смотри в самом репозитории.

📚 См. также

  • sing-box/architecture — разбор исходников: ядро, registry-паттерн, реализация протоколов, лимитеры, manager-подсистема
  • sing-box/wire-protocol-explainedс нуля: почему разные программы понимают друг друга и что такое двойная реализация протокола
  • sing-box/protocols-origin — sing-box vs Xray-core: независимые реимплементации, а не общий код
  • sing-box/hardcoded-defaults — порты по умолчанию, таймауты, магические числа
  • xray/project-x — главная альтернативная экосистема; сравнение ролей ядер
  • Clash/08-vs-sing-box — сравнение трёх универсальных ядер по осям: конфиг, маршрутизация, экосистема, роль в сети
  • protocols/naiveproxy — протокол, который из трёх ядер поддерживает только sing-box
  • protocols/00-overview — карта протоколов обхода и таблица поддержки в ядрах
  • Clash/02-mihomo — третье живое ядро; его YAML-подписки sing-box умеет разбирать как один из форматов провайдера
  • xray/vless — протокол, чьё шифрование форк переносит из Xray
  • xray/xhttp — транспорт через CDN, добавленный в форк
  • xray/clients-and-routing — синтаксис маршрутизации sing-box на примере клиента NekoBox
  • amnezia-2-0/reference — обфускация WireGuard, поддерживаемая форком
  • Hysteria/00-overview — один из протоколов, поддерживаемых и оригинальным sing-box
  • mtproxy/mtproto-zig — устройство протокола, серверную часть которого добавляет форк
  • 🔗 github.com/shtorm-7/sing-box-extended — репозиторий форка
  • 🔗 github.com/SagerNet/sing-box — оригинальный sing-box
  • 🔗 sing-box.sagernet.org — документация оригинального sing-box

[!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны в Forgejo: исходник этой заметки · весь репозиторий.