Когда пет-проект выходит из-под контроля: пишем свой tun2socks и закрываем дыры в Android VPN / Хабр
https://habr.com/ru/articles/1030930/
> Всё начиналось по приколу.
Недавно в сети поднялась шумиха вокруг уязвимости VLESS-клиентов: оказалось, что даже при использовании сплит-туннелирования (когда VPN включен только для избранных приложений), любое "шпионское" приложение на телефоне может узнать IP-адрес вашего VPN-сервера.
Уязвимость была тривиальной - ядро клиента открывает локальный SOCKS-прокси, который никак не защищен. Любая софтина на устройстве может постучаться в этот локальный порт и отправить пакет наружу. Ради академического интереса я написал Android-приложение TeapodStream, под капотом которого связал xray-core и tun2socks. Локальный прокси я посадил на случайный порт и закрыл динамическим паролем.

