将 WireGuard 嵌入到 Windows 上的 Go 应用程序中

Posted

技术标签:

【中文标题】将 WireGuard 嵌入到 Windows 上的 Go 应用程序中【英文标题】:Embedding WireGuard into a Go app on Windows 【发布时间】:2021-12-19 02:44:29 【问题描述】:

我正在用 Go 编写一个使用 WireGuard 隧道进行通信的应用程序。我想在应用程序中嵌入 WireGuard,而不是安装单独的 WireGuard 程序。我知道我可以使用wireguard.dll 和tunnel.dll 嵌入到一般应用程序中。但是鉴于我的应用程序也是用 Go 编写的,这仍然是正确的方法吗?还是我应该从 WireGuard-Windows 程序中调用 go 库?

文档很少,而且大多不是基于 Go 的。这种方法是否仍然适用于 Go 场景?

【问题讨论】:

【参考方案1】:

您可以使用zx2c4 wireguard-go module,(wireguard-windows 使用wireguard-go 作为模块)

您可以在 main_windows.go 中看到一个示例:虽然 wireguard-windows 仍然是完整的 Wireguard Windows 客户端,但这为您提供了从 Go 程序调用 Wireguard 的说明。

【讨论】:

以上是关于将 WireGuard 嵌入到 Windows 上的 Go 应用程序中的主要内容,如果未能解决你的问题,请参考以下文章

pfSense配置WireGuard VPN

Windows 上的 WireGuard:无法创建 Wintun 接口:注册环时出错:列出 NDIS 接口时出错:找不到接口

wireguard哪些软件可以共用

Wireguard 服务器连接到客户端

将 Ogre 嵌入到 windows 平台上的 qt 应用程序中

RouterOSv7WireGuard隧道协议