Xray-core вышел впервые за шесть недель: udpHop стал маской finalMask, переработана поддержка TUN в Windows
8 сентября 2026 года в репозитории XTLS/Xray-core появились две версии подряд — v26.9.8 в 09:49 и v26.9.9 в 22:28. Предыдущий выпуск ядра, v26.7.28, датирован 28 июля, то есть пауза между релизами составила 42 дня. Xray-core — то самое ядро, поверх которого работают клиенты Happ, v2rayNG, Hiddify и Throne, поэтому его изменения доходят до пользователей не сразу, а вместе с обновлениями этих приложений.
udpHop переехал в архитектуру масок
Главное изменение по объёму обсуждения — pull request №6327, слитый 8 сентября. Механизм udpHop, который прежде существовал отдельным функционалом, встроен в схему масок finalMask как новая UDP-маска. Смысл udpHop в том, чтобы соединение не держалось за одну пару «адрес — порт», а периодически меняло её: неподвижная пара служит удобным признаком для оборудования, которое разбирает трафик.
В описании перечислены три режима, которые можно комбинировать: intervalLocal — периодическая смена локальных портов, intervalRemote — периодическая смена удалённых адресов и портов, perConnRemote — смена удалённого адреса на каждое новое соединение. Первые два вместе воспроизводят прежнее поведение udpHop. Маска умеет прыгать и по портам, и по IP-адресам и заявлена как применимая к WireGuard, QUIC (в том числе Hysteria 2 и XHTTP/3) и другим протоколам поверх UDP; для совместимых протоколов возможна миграция соединения без разрыва.
Оговорка: перечисленное — это заявленные возможности из описания изменения, а не результат независимой проверки. Как удобно окажется настраивать маску на практике и как быстро её подхватят клиентские приложения, по коммиту судить нельзя.
TUN в Windows и мелкие починки
Отдельный блок правок касается режима TUN на Windows — это тот режим, в котором клиент забирает весь системный трафик, а не только трафик браузера. В pull request №6478 автор перечисляет три доработки: повторные попытки при ошибке ERROR_NOT_FOUND, когда CreateAdapter возвращает недействительный идентификатор из-за неготового IP-интерфейса; переписанный поиск исходящего интерфейса, который теперь ищет глобальный маршрут по умолчанию, исключая сам TUN-интерфейс, и получает уведомления об изменении маршрутов; более надёжный выбор сетевого адаптера через системный интерфейс Windows.
В том же обсуждении поднимался вопрос утечки DNS в режиме TUN — по итогам его решение отложено на будущие работы, то есть в этих версиях оно не закрыто. Это стоит держать в голове тем, кто оценивает TUN-режим как готовый.
Из остального в выпуск вошли: переход на Go 1.27, обновление библиотеки REALITY до сборки от 8 сентября, поддержка QUICv2 в определении протокола, исправление гонки данных в клиенте XHTTP, настраиваемый ответ у outbound-а blackhole и обновление Hysteria до официальной версии 2.12.2.
Как читать статус выпуска
Обе версии помечены на GitHub как pre-release. У Xray-core этой пометкой снабжены и предыдущие выпуски — v26.7.28, v26.7.11, v26.6.27, — так что сама по себе она не означает, что сборка сырая: это устоявшаяся практика проекта, а не сигнал о качестве конкретного релиза.
Версия v26.9.8 вышла утром, v26.9.9 — тем же вечером, и её описание отсылает к более новой карточке. Между ними в основную ветку легли четыре правки, включая ту самую маску udpHop, — поэтому актуальной для установки стоит считать v26.9.9.
Пользователю клиента ничего делать не нужно: ядро обновляется вместе с приложением. Разница между версией ядра в вашем клиенте и версией в репозитории — норма, а не поломка.
