Custom OpenVPN iOS client [closed]

僤鯓⒐⒋嵵緔 提交于 2019-12-07 08:42:39

问题


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?


回答1:


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.




回答2:


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.



来源:https://stackoverflow.com/questions/37437555/custom-openvpn-ios-client

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!