L×Box v2.0.1
Patch-релиз: два бага парсинга WireGuard / AmneziaWG (репорт из desktop, воспроизведены и исправлены в LxBox). Если у тебя WG/AWG-ноды парсятся нормально — обновление не срочное; но если сервер «виден в Sources, но пропал из списка» или ядро не стартует с ошибкой про адрес — это чинит ровно их.
Quick links:
🐛 Fixes ·
📲 Install ·
🇷🇺 На русском
🐛 Fixes
§106 — Private key с сырым / больше не ломает ноду
Task spec.
Ссылка wireguard:///awg://, у которой base64 private key содержит сырой / (например wireguard://FgFc1x9371GE/DV6bE…@host), не парсилась: парсер URL принимал / за начало пути, терял ключ, и нода отклонялась с «missing private key». Симптом — сервер виден в Sources, но пропадает из Preview / списка всех серверов.
Теперь сырой / percent-энкодится только в части ключа (userInfo) перед разбором; ключи, уже записанные через %2F, не затрагиваются.
Воркэраунд на старых сборках: вручную заменить / на %2F в ключе.
§106 — Bare-адрес без /32 больше не мешает старту ядра
WireGuard/AmneziaWG-нода, у которой address (или элемент allowed_ips) — голый IP без CIDR-префикса (172.16.0.2 вместо 172.16.0.2/32, частый вид в стандартных AmneziaWG / .conf-экспортах), давала конфиг, который ядро отказывалось грузить:
Failed to start … endpoints[0].address … netip.ParsePrefix("172.16.0.2"): no '/'
Теперь голый IPv4 дефолтится в /32, голый IPv6 — в /128, и для address, и для allowed_ips, во всех входах (URI / INI / JSON).
🔬 Verified
flutter analyzeclean; 907 тестов зелёные (+ wireguard_edge_test.dart: raw-/ключ,%2Fбез двойного декода, bare v4/v6 в address и allowed_ips, JSON-вход).- Оба бага сперва воспроизведены прямым прогоном парсера на присланных ссылках, затем закрыты.
📲 Install
adb install -r app-release.apkБез uninstall! Поверх существующей установки. Все настройки и подписки сохранятся.
🇷🇺 L×Box v2.0.1 на русском
Patch — два бага парсинга WireGuard / AmneziaWG:
- Ключ с символом
/: ссылка, где в base64 private key есть сырой/, раньше не парсилась (нода видна в Sources, но пропадала из списка). Теперь/корректно экранируется перед разбором. - Адрес без
/32: голый IP вaddress/allowed_ips(как в типичных AmneziaWG.conf) ронял запуск ядра (netip.ParsePrefix … no '/'). Теперь IPv4 →/32, IPv6 →/128автоматически.
Предыдущий релиз: v2.0.0.