After much searching on StackOverflow, it seems rooting a device in the only way to create a VPN profile pre-4.0
My question is how do the following apps do it without root?
http://www.featvpn.com/
https://play.google.com/store/apps/details?id=com.expressvpn.vpn&hl=en
Update 1
Seems private API is the way to go pre-4.0. Unfortunately, not many resources out there to get started. Does anyone know if private api still requires a rooted device?
Update 2
It seems you can do this using modified Android.jar or by using reflection. L2TP/IPSEC still requires rooted device. PPTP does not seem to.
How to use internal APIs on Android
Update 3
Please note, this is taken from various sources. It seems root is required because VpnService starts racoon, which then runs as a system user, and retrieves the PSK from the KeyStore. So KeyStore entries created by other apps aren't visible to racoon. (In linux environment, racoon is a security process assisting in IPSEC related key negotiations - IKE).
This makes sense, however, there are still applications which achieve L2TP/IPSEC without root.
Update 4
XinkVPN, source code to get started. Still does not allow users to create L2TP profile without user having to generate a key_store and recompile. Not very market friendly but a fabulous start.
https://github.com/xinthink/xinkvpn
http://code.google.com/p/xinkvpn/
What is a VPN? A virtual private network (VPN) conceals internet data traveling to and from your device. VPN software lives on your devices — whether that's a computer, tablet, or smartphone. It sends your data in a scrambled format (this is known as encryption) that's unreadable to anyone who may want to intercept it.
you could just redirect the user to the VPN settings screen via an undocumented intent.
Intent intent = new Intent("android.net.vpn.SETTINGS");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
This seems to work on 1.6-4.1 phones.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With