OpenVPN3库的工作方式是通过在主机系统上创建TUN / TAP接口。例如,在Android上,不可能同时创建两个不同的VPN连接,但是我确实需要能够在我的Android应用程序(以及iOS和其他系统,例如macOS)上同时使用2个或更多连接,Linux,紫红色)。
我正在读取OpenVPN3 source code。当然,可以对其进行修改以用作C ++中的库,以在不调用系统的情况下打开直接连接,但是我担心最终会遇到一些不安全的情况。编写安全的加密代码非常困难。
我不能使用其他VPN协议,它必须是OpenVPN。
还有其他选择吗?由于OpenVPN是基于OpenSSL的,难道不只是通过OpenSSL连接然后将数据包发送到服务器的问题吗? (当然,要对.ovpn客户端文件进行正确的解释)
我是否还有另一种缺少的方式?
UPDATE:
我opened an issue和开发人员说,我可以创建一个TunBuilder接口。有人知道从哪里开始吗?那里有数以百万计的课程
[github上还有另一个项目,被称为OpenVPN,它似乎不是您所引用的。所有这些都使用OpenSSL在C ++中完成。此版本看起来像是在相当近期的Microsoft Visual Studio(2017)上进行的测试-因此至少所有分支都不是陈旧的! :)我认为这个项目可能更接近您的需求。