Go to file
2022-01-07 20:20:48 +01:00
assets happy linting 2022-01-07 20:17:12 +01:00
cmd happy linting 2022-01-07 20:17:12 +01:00
init fixes checkconfig in open-rc init file 2021-04-27 09:29:15 +02:00
third_party build: managing tools in go modules 2022-01-07 20:20:48 +01:00
tools/pidof happy linting 2022-01-07 20:17:12 +01:00
vendor build: managing tools in go modules 2022-01-07 20:20:48 +01:00
wgquick adds ability to kill a process of a userland wireguard-go 2021-04-16 14:21:36 +02:00
.drone.yml ci: fixed golangci-lint versions 2021-05-11 15:10:13 +02:00
.gitignore adds ability to kill a process of a userland wireguard-go 2021-04-16 14:21:36 +02:00
.gitmodules adds wireguard-go as submodule 2021-01-22 10:10:06 +01:00
.goreleaser.yml happy linting 2022-01-07 20:17:12 +01:00
go.mod build: managing tools in go modules 2022-01-07 20:20:48 +01:00
go.sum build: managing tools in go modules 2022-01-07 20:20:48 +01:00
LICENSE homebrew 2021-01-25 11:32:38 +01:00
logo.png docs: readme work 2021-01-21 13:42:24 +01:00
main.go happy linting 2022-01-07 20:17:12 +01:00
Makefile build: managing tools in go modules 2022-01-07 20:20:48 +01:00
README.md try to fix homebrew 2021-01-27 11:35:23 +01:00

logo

wg-quick like library with batteries included

Go Reference Go Report Card


This is a friendly fork of 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.

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

  • full wg-quick feature parity
    • PreUp
    • PostUp
    • PreDown
    • PostDown
    • DNS
    • MTU
    • Save --> Use MarshallText interface to save config
  • Sync
  • Up
  • Down
  • MarshallText
  • UnmarshallText
  • Minimal test
  • Embedded wireguard-go
  • 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)).