Локальный VPN для Android

Цена договорная
07 июня 2021, 01:05 • 4 отклика • 25 просмотров
Необходимо разработать локальный VPN-файерволл для Android 6-12.
Нужен только код самого впн-сервиса, интерфейс и прочее не важны.

* Сетевой стек должен быть выполнен в нативном коде (C/C++) во избежание потерь производительности (парсинг IP пакетов в Java/Kotlin будет очень медленным и затратным для GC)
* Нативный код должен дёргать Java/Kotlin метод isAddressAllowed, в который передаётся адрес и порт и из которого возвращается true/false - разрешить соединение или отклонить
* Потери производительности не должны превышать 30% (на данном этапе в isAddressAllowed можно захардкодить пару адресов и измерять производительность на базе этого)
* Помимо этого, в Java/Kotlin коде должна быть максимум инициализация VPN-а и передача FileDescriptor-а в нативный код. Вся остальная работа должна производиться в нативном коде.
* Обязательна поддержка IPv4, IPv6, ICMP.
* Обязательна работа нативной либы на arm, arm64, x86, x86_64

В качестве референса можно посмотреть на NetGuard, но, во-первых, он под GPL, что несовместимо с моим проектом, во-вторых, там очень много лишнего для меня кода (socks-прокси, дампы в PCAP, логирование использования сети).

Пожалуйста, сразу пишите примерную цену и сроки, без этого буду отклонять.