К содержимому
INCY
Назад

Баг: 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)

Пока нет комментариев

Добавить комментарий