sing-box 1.14.0: что реально изменилось в стабильном релизе и что придётся править при обновлении
31 августа 2026 года разработчики sing-box перевели ветку 1.14 из состояния release candidate в стабильное. Событие заметное не самим номером версии, а содержимым: в ядро завезли механизм подделки приветственного пакета TLS для обхода фильтрации по имени сайта, поддержку OpenVPN и OpenConnect, а мобильные клиенты для iPhone и Apple TV в тот же день появились в App Store под новым названием. Мы сверили дату по файлам сборки, а не по карточке релиза, проверили наличие приложения в магазине отдельным запросом, вычитали описание нового механизма в документации проекта и собрали список того, что придётся поправить в конфигурации при переходе с 1.13.
Когда именно ветка вышла из беты
Файлы сборки релиза v1.14.0 — а их 167 — созданы 31 августа 2026 года между 03:52 и 03:53 UTC, то есть в 06:52–06:53 по Москве. Карточка релиза опубликована в 04:05 UTC (07:05 МСК). Мы намеренно указываем время по файлам, а не по карточке: дата карточки на GitHub правится и не обязана совпадать с моментом, когда сборки стали доступны.
До этого ветка 1.14 находилась в предварительном статусе с зимы: на странице релизов подряд идут beta.15, beta.17, rc.1, rc.2, rc.4 и rc.5, а стабильной всё это время оставалась линия 1.13 — последним её выпуском был 1.13.21. Именно смена статуса ветки, а не появление очередной карточки, и есть здесь событие: до 31 августа пользователь, обновляющийся по стабильному каналу, версию 1.14 не получал.
Мы уже писали про эту ветку дважды и не повторяемся: 26 августа — про release candidate и подражание отпечатку QUIC браузера Chrome в Hysteria2, 29 августа — про переезд Apple-клиентов на новый аккаунт разработчика и потерю настроек в macOS. Сегодняшний материал про третью, отдельную стадию того же сюжета: релиз состоялся, и стало видно, что в него в итоге доехало.
Клиенты для iPhone и Apple TV снова в App Store — но это другое приложение
В примечаниях к релизу сказано, что клиенты для iOS и tvOS доступны в App Store снова, под названием sing-box MT. Мы проверили это не по тексту релиза, а прямым запросом в поисковый интерфейс App Store: приложение sing-box MT там есть, издатель — Metamerism LLC, идентификатор 6785326793, дата первой публикации 31 августа 2026 года. То есть это новая карточка в магазине, а не восстановленная старая.
Практическое следствие названо в самих примечаниях: пользователям прежней версии из магазина, которая называлась sing-box VT, нужно установить новое приложение — автоматическим обновлением переход не произойдёт. В поиске по магазину карточка sing-box VT сейчас не находится. Номер версии в App Store при этом свой и с версией ядра не совпадает: магазин на момент проверки отдавал 1.14.4, тогда как ядро — 1.14.0; путать их не стоит.
Для macOS ситуация обратная и хуже: вариант SFM в Mac App Store, как сказано в примечаниях, больше не предлагается из-за ограничений на права приложения, и авторы отсылают к отдельной сборке вне магазина. Профили и настройки из прежнего приложения при этом не наследуются — под это в документации заведён отдельный пункт миграции. Об этой части мы подробно писали 29 августа, когда она была ещё анонсом; теперь это состоявшийся факт.
Главное для обхода фильтрации: поддельный ClientHello с разрешённым именем сайта
Самое интересное в релизе для тех, кто сталкивается с фильтрацией по имени сайта, в списке изменений упомянуто одной строкой — «TLS spoof». В документации это новое поле spoof, доступное только на стороне клиента с версии 1.14.0. Работает так: перед настоящим приветственным пакетом TLS отправляется поддельный, который несёт в поле имени сайта разрешённое значение. Промежуточное устройство, фильтрующее соединения по этому полю, считает сессию легитимной, а настоящий сервер поддельный пакет отбрасывает. В документации отдельно оговорено, что поддельный сегмент — это копия настоящего, в котором заменено только имя сайта, поэтому по отпечатку TLS отличить его от настоящего нельзя.
Тем, что настоящий сервер обязан подделку отбросить, управляет второе новое поле — spoof_method, у него пять значений. По умолчанию используется wrong-sequence: номер последовательности TCP у поддельного сегмента ставится до окна приёма сервера. Остальные варианты — заведомо неверная контрольная сумма, номер подтверждения до окна отправки, подпись TCP-MD5 без согласованного ключа и намеренно устаревшая временная метка, которую сервер отбраковывает как повтор. Последний способ работает только на Linux и Windows.
Цена этой возможности высокая, и назвать её надо прямо. Нужен доступ к сырому сокету: на Linux — привилегия CAP_NET_RAW и дополнительно CAP_NET_ADMIN, потому что номер последовательности читается через механизм TCP_REPAIR; на macOS — права root; на Windows — права администратора, чтобы при первом запуске установить встроенный драйвер WinDivert. Windows на архитектуре ARM64 не поддерживается, мобильных платформ в списке нет вовсе. И главное: в документации описан механизм, а не результат — независимых замеров того, как приём ведёт себя против конкретных систем фильтрации, на момент публикации нет, и выдавать описание за доказанную работоспособность мы не будем.
Что появилось в ядре и что придётся править при обновлении
Самое существенное для практики — два новых семейства подключений. В ядро добавлены клиент и сервер OpenVPN, совместимые, по описанию авторов, со стандартными реализациями, включая режим статического ключа, устаревшие шифры и алгоритмы имитовставки. Добавлен клиент OpenConnect, в списке поддерживаемых серверов перечислены Cisco AnyConnect, GlobalProtect, Fortinet, F5, Pulse Connect Secure и Juniper Network Connect. Раньше для этих протоколов нужны были отдельные программы. Также реализован протокол Snell, добавлены пересылка трафика на третьем уровне и исходящее соединение типа bridge, поддержка сетевых пространств имён и сервис API с панелью управления.
Отдельным пунктом заявлена сборка sing-box для настольных Windows и Linux — соответствующий раздел появился и в документации проекта. До этого графические клиенты были только под Android и платформы Apple.
Обновляться с 1.13 «на месте» может не получиться. В разделе миграции документации у версии 1.14.0 шесть пунктов: перенос данных отдельного клиента для macOS, перевод встроенной настройки ACME на систему поставщиков сертификатов, перенос полей фильтрации адресов на сопоставление ответов, перенос независимого кэша DNS, перенос параметра store_rdrc и изменение поведения ip_version и query_type в правилах DNS. Кроме того, в релизе отдельной строкой указано удаление устаревших возможностей «по договорённости» и прекращение поддержки сборки на Go версии 1.24. Если у вас рабочий конфиг на 1.13 — разумнее сначала прочитать раздел миграции, а потом обновляться, а не наоборот.
Источник: sing-box — карточка релиза v1.14.0 на GitHub, 31.08.2026
