L×Box v2.15.11
AmneziaWG через detour больше не «висит». Если AmneziaWG-нода использовалась
как звено detour-цепочки (WG/AWG поверх другого выхода), туннель поднимался
«вроде бы», но трафик не шёл — рукопожатие и данные молча отбрасывались. Причина
в ядре: обфускация reserved-байтов для WARP затирала magic-заголовок AmneziaWG.
Исправлено.
Ядро обновлено до v1.14.0-lx.9 (со стабильной ветки; включает и предыдущий
фикс краша AmneziaWG из v2.15.9).
Quick links:
🆕 Что нового ·
🔧 Под капотом ·
📲 Install
🆕 Что нового
-
Фикс: AmneziaWG-нода в роли detour не проводила трафик.
AmneziaWG как detour (WG/AWG поверх другого выхода) Было туннель «поднимается», но handshake и данные молча теряются — нода мёртвая Стало работает Обычный AmneziaWG (не через detour) и обычный WireGuard баг не затрагивал.
Все изменения — в ядре sing-box-lx; приложение подтянуло их обновлением пина
libbox.
🔧 Под капотом
-
Reserved-clear затирал AmneziaWG magic. Байты 1–3 каждого принятого пакета
(поле «reserved» Cloudflare WARP) обнулялись безусловно во всех сетевых
bind'ах. AmneziaWG читает свой magic-заголовок со смещением на padding
(s1/s2/s4); при малом padding заголовок попадает в те же байты 1–3 —
обнуление ломало его, и пакет (включая handshake) отбрасывался. Теперь байты
1–3 трогаются только при реально заданном WARP-reserved. Обычный WG (тип
1–4, байты 1–3 и так нули) и AmneziaWG с бо́льшим padding не затрагивались —
поэтому баг долго не замечали. Красно-зелёные тесты поднимают пару устройств с
нулевым padding и проверяют доставку. -
Гонка в кэше соединения detour-bind'а. Попутно устранён data race в
ClientBind(чтение кэшированного соединения на быстром пути без блокировки).
Не проявлялся в бою, но ловился детектором гонок; поле переведено на
atomic-указатель, логика не менялась.
📲 Install
adb install -r LxBox-v2.15.11-arm64-v8a.apkБез uninstall! Поверх существующей установки. Настройки и подписки сохранятся.
Предыдущий релиз: v2.15.10.