{"repo":"DefGuard/wireguard-rs","free":true,"listed":false,"github":"https://github.com/DefGuard/wireguard-rs","clone":"git clone https://github.com/DefGuard/wireguard-rs.git","description":"Rust library providing unified WireGuard interface to native/kernel and userspace implementations","language":"Rust","stars":329,"topics":["crate","crates","library","rust","rust-lang","vpn","wireguard","linux","networking","openvpn"],"license":null,"category":"networking-infra","readme_excerpt":"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. Supported platforms - Native OS Kernel: Linux, FreeBSD (and pfSense/OPNSense), NetBSD, Windows - Userspace: Linux, macOS, FreeBSD, NetBSD Unique features - Peer routing - see WGApi docs. - Configuring DNS resolver - see WGApi docs. - On FreeBSD network interfaces are managed using ioctl . - On Linux, handle network routing using netlink . - fwmark handling Windows support Please note that WireGuard-NT dll file has to be placed under resources-windows/binaries/wireguard.dll path relative to your binary. Windows development For Windows development you'll need: 1. The stable-x86 64-pc-windows-gnu Rust toolchain. Use rustup to change the toolchain: 2. Install MSYS2 3. Then run this in the MSYS2 terminal: 4. Finally add msys to your PATH: More info can be found here. Examples - Client: https://github.com/DefGuard/wireguard-rs/blob/main/examples/client.rs - Server: https://github.com/DefGuard/wireguard-rs/blob/main/examples/server.rs Documentation See the documentation for more information. Community and Support Reach out to our community via GitHub Discussions Contribution","default_branch":null,"files":null,"tree":[],"storefront":"/r/DefGuard","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/DefGuard/wireguard-rs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}