如何在C ++中创建OpenVPN客户端? (不是tun / tap管理器,不是真正的客户端)

问题描述 投票:2回答:1

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接口。有人知道从哪里开始吗?那里有数以百万计的课程

c++ sockets networking openssl openvpn
1个回答
0
投票

[github上还有另一个项目,被称为OpenVPN,它似乎不是您所引用的。所有这些都使用OpenSSL在C ++中完成。此版本看起来像是在相当近期的Microsoft Visual Studio(2017)上进行的测试-因此至少所有分支都不是陈旧的! :)我认为这个项目可能更接近您的需求。

© www.soinside.com 2019 - 2024. All rights reserved.