自定义OpenVPN iOS客户端

时间:2016-05-25 12:43:56

标签: ios openvpn networkextension

我正在开发自定义iOS OpenVPN客户端。 我发现这个原生的OpenVPN客户端核心来源https://staging.openvpn.net/openvpn3/

我可以为iOS平台构建它。

如何将此OpenVPNClient集成为从我的应用程序为iOS设备设置OpenVPN网络的扩展?有可能吗?

2 个答案:

答案 0 :(得分:1)

我认为您应该使用Network Extension框架来扩展iOS设备的VPN功能。文档可以在链接中找到:

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

如链接文档开头所述,为了让您的应用能够使用上述框架,您需要获得Apple的特别许可:

  

重要

     

大多数网络扩展程序类要求您在代码中使用它们之前从Apple获取权利。要申请权利,请访问https://developer.apple.com/contact/network-extension

在您的开发设备中未经此类许可可能会或可能无法测试框架,但您不太可能将生成的应用程序发布到市场。

答案 1 :(得分:1)

您可以在网络扩展框架中使用NEPacketTunnelProvider api。 数据包隧道提供程序允许您在iOS中创建自己的vpn隧道,网络流量(原始IP数据包)将路由到您自己的VPN隧道。但您可能需要处理原始ip数据包并与openvpn3集成。