logo

wg-quick like library with batteries included

Go Reference Go Report Card

--- This is a friendly fork of [wg-quick-go](https://github.com/nmiculinic/wg-quick-go). So all glory to them!!!11!! It contains everything needed to get a system into a wireguard vpn network. If there is no wireguard kernel modul available, it will spin up the embedded wireguard-go to create a wireguard interface. # Installation ## Prebuild packages Get these on the release [page](https://github.com/xsteadfastx/wg-quicker/releases). ## Homebrew - `brew tap xsteadfastx/tap https://github.com/xsteadfastx/homebrew-tap` - `brew install wg-quicker` ## Compile it for yourself - `git clone https://git.xsfx.dev/xsteadfastx/wg-quicker.git` - `cd wg-quicker` - `make build` # Roadmap - [x] full wg-quick feature parity - [x] PreUp - [x] PostUp - [x] PreDown - [x] PostDown - [x] DNS - [x] MTU - [x] Save --> Use MarshallText interface to save config - [x] Sync - [x] Up - [x] Down - [x] MarshallText - [x] UnmarshallText - [x] Minimal test - [x] Embedded [wireguard-go](https://git.zx2c4.com/wireguard-go/about/) - [ ] Integration tests ((TODO; have some virtual machines/kvm and wreck havoc :) )) # Caveats - Endpoints DNS MarshallText is unsupported - Pre/Post Up/Down doesn't support escaped `%i`, that is all `%i` are expanded to interface name. - SaveConfig in config is only a placeholder (( since there's no reading/writing from files )). Use Unmarshall/Marshall Text to save/load config (( you're responsible for IO)).