user3073428
user3073428

Reputation: 63

Programmatically setting up a vpn on Android

I have found the following code to establish a new vpn programmatically but I do not know how to use it to create my app

VpnService service = context.getSystemService(VPN_SERVICE);
VpnProfile profile = VpnProfile.create(L2TP_PROFILE);
profile.setName(myServerName);
profile.setServerName(myServerAddress);
profile.setRouteList("192.168.1.0/255.255.255.0,192.168.10.0/255.255.255.0");
service.connect(profile, "myUserName", "myPassword");
service.setNotificationIntent(myIntent);

can anyone please help me with a sample code? Is it even possible to to achieve dis?

Upvotes: 6

Views: 13833

Answers (1)

brandonscript
brandonscript

Reputation: 73024

Note: this answer is dated and may now be inaccurate.

Take a look at this question: How to configure VPN programmatically?

While yours isn't necessarily a duplicate, the answer is likely the same, in that you're going to need to expose the hidden API (if it's available) or worse, be dependent on the device being rooted.

Understandably, programmatically creating a VPN connection poses an inherent security risk for the end user, and shouldn't be implemented without consideration.

Upvotes: 2

Related Questions