WireGuard library for Go
Important
This project is a fork of the original wireguard-go project with some modifications. All credit goes to the original wireguard-go authors.
- replaced the built-in TUN and conn implementations with reusable tuntap and batchudp libraries
- support on-the-fly attach/detach/swap operations for
BindandTuninstances - added usage examples
- added
Deviceconfiguration methods matching UAPI get/set options - added leveled logging
- implemented amnesiawg-go-compatible obfuscation
- added support for per-peer obfuscation options (with a nuance)
- added more end-to-end and compatibility tests with other WireGuard implementations
- added performance tests with a comparison against other WireGuard implementations
- WASM builds supported