| Crates.io | defguard_wireguard_rs |
| lib.rs | defguard_wireguard_rs |
| version | 0.8.0 |
| created_at | 2023-10-02 13:35:52.424374+00 |
| updated_at | 2025-12-09 10:20:28.482149+00 |
| description | A unified multi-platform high-level API for managing WireGuard interfaces |
| homepage | https://github.com/DefGuard/wireguard-rs |
| repository | https://github.com/DefGuard/wireguard-rs |
| max_upload_size | |
| id | 989966 |
| size | 333,126 |
defguard_wireguard_rs is a multi-platform Rust library providing a unified high-level API for managing WireGuard interfaces using native OS kernel and userspace WireGuard protocol implementations. It can be used to create your own WireGuard:tm: VPN servers or clients for secure and private networking.
It was developed as part of defguard security platform and used in the gateway/server as well as desktop client.
Please note that WireGuard-NT dll file has to be placed under resources-windows/binaries/wireguard.dll path relative to your binary.
For Windows development you'll need:
stable-x86_64-pc-windows-gnu Rust toolchain. Use rustup to change the toolchain:rustup install stable-x86_64-pc-windows-gnu
rustup default stable-x86_64-pc-windows-gnu
Install MSYS2
Then run this in the MSYS2 terminal:
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain mingw-w64-ucrt-x86_64-nasm
# cmd
set PATH=C:\msys64\ucrt64\bin;%PATH%
# power-shell
$env:PATH = "C:\msys64\ucrt64\bin;" + $env:PATH
More info can be found here.
See the documentation for more information.
Find us on Matrix: #defguard:teonite.com
Please review the Contributing guide for information on how to get started contributing to the project. You might also find our environment setup guide handy.
WireGuard® is registered trademarks of Jason A. Donenfeld.