Назад
Баг: VPN на Android не запускается с большим конфигом Xray JSON
БагОткрытКритичноПубличный
Автор: c*********@gmail.com
Продукт: Приложение INCY
Создан: 13.10.2026, 10:59:26
После переключения формата ответа подписки Remnawave с `XRAY_BASE64` на `XRAY_JSON` INCY успешно загружает подписку (`HTTP 200`), но при запуске VPN возникает ошибка: ```text [ERROR/TUNNEL] Ошибка подключения: android.os.TransactionTooLargeException: data parcel size 1568452 bytes ``` При повторных попытках размер Parcel составляет `1568452–1568524` байт. **Шаги воспроизведения:** 1. Импортировать или обновить подписку с полными конфигурациями Xray JSON, содержащими большие встроенные списки маршрутизации. 2. Выбрать конфигурацию. 3. Запустить VPN. **Ожидаемый результат:** VPN успешно запускается. **Фактический результат:** запуск завершается ошибкой `TransactionTooLargeException`. Та же конфигурация Xray JSON работает в **Happ** и **v2rayN в режиме TUN**. Шаблон разворачивает категории GeoIP/Geosite в явные списки доменов и IP-диапазонов, включая примерно **35 775 CIDR**. Заново сформированный шаблон занимает около **747 КБ в минифицированном UTF-8 JSON**, или **1,49 МБ в UTF-16**. Предположительно, полный конфиг передаётся через Android Intent/Bundle или другую транзакцию Binder и превышает общий лимит буфера Binder в 1 МБ. Это гипотеза: полного стека вызовов у нас нет. Можете проверить передачу конфигурации между приложением и VPN-сервисом? Возможно, проблему решит передача файлового дескриптора, пути к файлу или идентификатора конфигурации вместо полного JSON внутри Binder-транзакции.
Комментарии (0)
Пока нет комментариев
Добавить комментарий