modification to a Golang+Kotlin android app, maybe also a companion android app (optional)
Task details
- IT & Networking - Other
some relatively minor modifications to be made to an open source app that uses Kotlin and Golang
(https://github.com/WireGuard/wireguard-android yes, the android wireguard client) .
The nature of the modification is to force wireguard to use UDP SOCKS5 to send VPN traffic through a shadowsocks client launched on same phone
(already doable by building shadowsocks-rust on the phone and some root trickery (policy routing), but the potential target audience for this solution can't be bothered with modifying android policy routing)
wireguard-android has a userspace golang wireguard implementation, which is where I suspect most of modification work will have to take place. Fortunately there are plenty golang implementations of socks5 functions (like https://github.com/txthinking/socks5 ) so the modification more or less amounts to "duct taping" the SOCKS5 functions to golang userspace-wireguard library they app uses, and modifying the app itself (Kotlin) to effectively use and configure the modified WG.
Optional additional task: companion app with functionality related to the modification (start and agressively keep command-line programs in android, as itself or as root, and restart them if they die, display a notification to make double-plus sure the entire shebang persists)
These are related but separate tasks (separate estimates for the modified wireguard and the companion "background command runner" app)
Ideally open-sourced and published to github (I can do that myself, but if you want it for your portfolio and have established github presence that's better )
Are you an employer? Post a similar job