如何在C++中创建OpenVPN客户端?(不是 TUN/Tap 管理器,而是真正的客户端)
How to create an OpenVPN client in C++? (not a tun/tap manager, a true client)
OpenVPN3库的工作方式是在主机系统上创建一个TUN/TAP接口。例如,在Android上,不可能同时创建两个不同的VPN连接,但我真的需要能够在我的Android应用程序(可能还有iOS和其他系统,如macOS,Linux,Fuchsia)上同时使用2个或更多连接。
我正在阅读OpenVPN3源代码。当然,它可以被修改为在C++中用作库,以在不调用系统的情况下打开直接连接,但恐怕我最终会得到一些不安全的东西。编写安全的加密代码非常困难。
我不能使用其他VPN协议,它必须是OpenVPN。
还有其他选择吗?由于OpenVPN基于OpenSSL,难道它不仅仅是通过OpenSSL连接然后向服务器发送数据包的问题吗?(当然要正确解释.ovpn客户端文件)
有没有我缺少的另一种方法?
更新:
我打开了一个问题,开发人员说我可以创建一个TunBuilder界面。有人知道从哪里开始吗?那里有数百万个类
github上还有另一个项目,被称为OpenVPN,它似乎不是你引用的项目。这一切都是在C++年使用OpenSSL完成的。这个版本看起来像是在最近的Microsoft Visual Studio(2017)上构建的 - 所以至少所有的分支都没有过时!:)我认为这个项目可能更接近您正在寻找的内容。
相关文章:
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 如何将函数集合传递给客户端类,以便将它们当作客户端类本身的成员使用
- 使用调试/崩溃报告将应用程序部署到客户端
- 如何在本地机器上运行c++和javascript客户端代码(hackerbank风格)
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 如何维护资源管理器项目视图中当前可见的项目列表
- 从服务器传输到客户端的消息不会出现
- OpenSSL TLS服务器-使用客户端证书白名单
- 使用"Task"函数指针队列定义作业管理器
- 在 QNX 中,如何管理服务器和客户端之间的 IPC 连接?
- Waveshare 电子纸 ESP32 板上的 HTTP 客户端管理问题
- 如何在C++中创建OpenVPN客户端?(不是 TUN/Tap 管理器,而是真正的客户端)
- 在Windows上编译Mongo DB客户端示例时,链接器错误
- 在弹出窗口中管理CEF客户端区域的窗口消息
- C++套接字客户端/服务器简单消息发送器
- 管理客户端在 C 套接字中突然断开连接的好方法
- 在C++中实现客户端持久性管理器
- 堆排序向量的客户端,传递迭代器不正确
- 创建PHP P2P游戏客户端跟踪器
- 链接器错误LNK2019在boost asio http客户端代码