Overview of ProxyDroid Architecture
masterProxyDroid is a global Android proxy application that uses a VPN-first architecture to forward device traffic to upstream SOCKS5 or HTTP proxies without requiring root access.
Key architectural components:
- VpnService: Uses the standard Android
VpnServiceto capture IP packets on a TUN device, allowing for per-app bypass via theaddDisallowedApplicationAPI. - Rust tun2socks: A packet-to-socket bridge implemented in Rust using
netstack-smoltcp. This core logic is invoked from Kotlin via JNI. - Jetpack Compose: The user interface is built with Compose and Material 3.
- Upstream Support: Supports SOCKS5 (with optional username/password auth) and HTTP
CONNECT(with optional Basic auth).