Go to file
Marvin Preuss d23218c14d
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
ci: git checkout -- before running make release
2022-02-07 15:48:10 +01:00
assets happy linting 2022-01-07 20:17:12 +01:00
cmd feat: config dir short handle 2022-02-07 15:23:14 +01:00
init fixes checkconfig in open-rc init file 2021-04-27 09:29:15 +02:00
third_party build(make): tools not in go mod 2022-02-07 15:24:04 +01:00
tools/pidof happy linting 2022-01-07 20:17:12 +01:00
vendor build(make): tools not in go mod 2022-02-07 15:24:04 +01:00
wgquick happy linting 2022-01-07 20:21:00 +01: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 fix(goreleaser): adds tar.gz archive an id and uses it in brews section 2022-01-10 09:58:10 +01:00
.woodpecker.yml ci: git checkout -- before running make release 2022-02-07 15:48:10 +01:00
go.mod build(make): tools not in go mod 2022-02-07 15:24:04 +01:00
go.sum build(make): tools not in go mod 2022-02-07 15:24:04 +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(make): tools not in go mod 2022-02-07 15:24:04 +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)).