github Leadaxe/LxBox v2.15.8
LxBox v2.15.8

latest releases: v2.25.16, v2.25.16-rc.1, v2.25.15...
3 months ago

L×Box v2.15.8

«Stopped: VPN revoked by another app» больше не пугает. Когда VPN-слот
забирало другое приложение, L×Box показывал сырую внутреннюю строку — она
читалась как поломка самого приложения, хотя описывала штатную ситуацию: Android
держит один VPN-слот, и его перехватил другой VPN-клиент.

Теперь на этом месте текст, который объясняет причину и что делать. Разбор
жалобы вскрыл, что вся ветка обработки перехвата не работала с первого коммита
проекта
: сообщение о перехвате не доезжало от системного слоя до интерфейса.

Quick links:
🆕 Что нового ·
🔧 Под капотом ·
⚠️ Важно понимать ·
📲 Install


🆕 Что нового

  • Понятное сообщение при перехвате VPN-слота (§276, §224):

    Текст на экране
    Было Stopped: VPN revoked by another app
    Стало Another VPN app took the system VPN slot (e.g. an always-on VPN). Start again to reconnect.

    Причина перехвата почти всегда одна: второе VPN-приложение с Always-on /
    kill-switch
    или автозапуском отбирает единственный системный VPN-слот. Найти
    виновника можно кнопкой VPN settings в диалоге «Another VPN is active» —
    на системном экране активный VPN помечен как Connected.

  • Признак перехвата переживает сворачивание приложения. Если слот забрали,
    пока L×Box был в фоне, при возврате состояние больше не выглядит как обычное
    «Disconnected».

  • Убран дублирующий всплывающий блок. При перехвате показывались два
    сообщения подряд: второе мгновенно затирало первое, юзер видел мелькание.
    Осталось одно.


🔧 Под капотом

  • Починен контракт статуса между системным слоем и интерфейсом (§276).
    Интерфейс ожидал статус Revoked, которого системный слой не отправлял
    никогда — там всего четыре статуса (Stopped / Starting / Started /
    Stopping). Перехват приезжал как обычная остановка, поэтому весь UX
    перехвата (§003 / §224 / §241) был недостижимым кодом.

    Признак перехвата теперь едет отдельным флагом рядом со Stopped, а не пятым
    статусом: терминальный статус обязан остаться прежним — на нём завязана вся
    процедура остановки туннеля (Stop, Reconnect из шторки, force-stop). Пятый
    статус подвесил бы остановку до таймаута.

  • Проверено на устройстве — впервые за историю проекта UX перехвата
    протестирован живьём, вторым VPN-клиентом на реальном телефоне.

  • Тесты: 1904 (+11). Прежний тест этой ветки сам подставлял несуществующий
    статус Revoked — то есть закреплял сломанный контракт и потому был зелёным.

  • Доки: контракт статусов в 012 native vpn service противоречил сам себе —
    объявлял Revoked и тут же описывал отправку Stopped; приведён к
    реальности. В §003 / §224 добавлен разбор, почему дыру не замечали.


⚠️ Важно понимать

Это исправление делает причину видимой, но не устраняет перехват. Если VPN
отваливается регулярно — на устройстве работает другое VPN-приложение,
забирающее слот. Проверьте:

  • Настройки → Сеть → VPN — нет ли второго клиента с включённым Always-on;
  • автозапуск у второго VPN-клиента;
  • на Samsung — встроенный Secure Wi-Fi: это тоже VPN, он умеет включаться
    сам при подключении к Wi-Fi.

📲 Install

adb install -r LxBox-v2.15.8-arm64-v8a.apk

Без uninstall! Поверх существующей установки. Настройки и подписки сохранятся.


Предыдущий релиз: v2.15.7.

Don't miss a new LxBox release

NewReleases is sending notifications on new releases.