自定义OpenVPN iOS客户端

我正在开发一个定制的iOS OpenVPN客户端。 我发现这个本地的OpenVPN客户端核心来源https://staging.openvpn.net/openvpn3/

我可以为iOS平台构build它。

我怎样才能把这个OpenVPNClient作为一个扩展来集成,以便从我的应用程序中为iOS设备build立一个OpenVPNnetworking? 可能吗?

我想你应该使用networking扩展框架来扩展iOS设备的VPNfunction。 文档可以在链接中find:

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

正如链接文件的开头所述,为了使您的应用程序能够使用上述框架,您需要Apple的特别许可:

重要

大多数networking扩展类都要求您在使用代码之前先从苹果获得授权。 要申请权利,请访问https://developer.apple.com/contact/network-extension

在您的开发设备中没有这种许可的情况下,testing框架可能会也可能不会,但是您不可能将产生的应用程序发布到市场上。

您可以在Network Extension Framework中使用NEPacketTunnelProvider API。 数据包隧道提供程序允许您在iOS中创build自己的VPN隧道,并将networkingstream量(原始IP数据包)路由到您自己的VPN隧道。 但你可能需要处理原始的ip包,并与openvpn3集成。