Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Custom OpenVPN iOS client [closed]

I'm working on a custom iOS OpenVPN client. I found this native OpenVPN client core sources https://staging.openvpn.net/openvpn3/

I can build it for the iOS platform.

How can I integrate this OpenVPNClient as an extension to set up an OpenVPN network for iOS devices from my application? Is it possible?

like image 736
Alex Bakhitn Avatar asked May 25 '16 12:05

Alex Bakhitn


2 Answers

I think you should use the Network Extension framework to extend VPN capabilities of an iOS device. The documentation can be found at the link:

https://developer.apple.com/library/ios/documentation/NetworkExtension/Reference/Network_Extension_Framework_Reference/

As stated at the beginning of the linked document in order for your app to be able to use the above framework you need a special permission from Apple:

IMPORTANT

Most Network Extension classes require you to obtain an entitlement from Apple before using them in your code. To request entitlements, visit https://developer.apple.com/contact/network-extension.

It may or may not be possible to test the framework without such permission in your development devices, however it is unlikely that you can publish the resulting application to the market.

like image 106
pqnet Avatar answered Oct 23 '22 17:10

pqnet


You could use NEPacketTunnelProvider api in Network Extension Framework. The packet tunnel provider allow you to create your own vpn tunnel in iOS and the network traffic (raw ip packet) would be routed to your own vpn tunnel. But you may need to handle raw ip packet and integrate with openvpn3.

like image 24
chienhong.yang Avatar answered Oct 23 '22 17:10

chienhong.yang