将 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 应用程序中的主要内容,如果未能解决你的问题,请参考以下文章
Windows 上的 WireGuard:无法创建 Wintun 接口:注册环时出错:列出 NDIS 接口时出错:找不到接口