Go to file
Marvin Steadfast 453edfc927
All checks were successful
continuous-integration/drone/push Build is passing
readme
2021-01-25 15:20:09 +01:00
cmd renames wgo to userspace flag 2021-01-25 11:06:27 +01:00
init adds init files 2021-01-25 10:53:58 +01:00
third_party adds wireguard-go as submodule 2021-01-22 10:10:06 +01:00
vendor uses cobra for command line interface rewrite 2021-01-21 15:18:17 +01:00
wgquick renames wgo to userspace flag 2021-01-25 11:06:27 +01:00
.drone.yml homebrew 2021-01-25 11:32:38 +01:00
.gitignore ignore envrc 2021-01-22 15:56:57 +01:00
.gitmodules adds wireguard-go as submodule 2021-01-22 10:10:06 +01:00
.goreleaser.yml disables homebrew for now 2021-01-25 15:08:00 +01:00
go.mod uses cobra for command line interface rewrite 2021-01-21 15:18:17 +01:00
go.sum uses cobra for command line interface rewrite 2021-01-21 15:18:17 +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 uses wireguard-go submodule + arm 6 and 7 builds 2021-01-22 11:05:17 +01:00
Makefile uses wireguard-go submodule + arm 6 and 7 builds 2021-01-22 11:05:17 +01:00
README.md readme 2021-01-25 15:20:09 +01:00

logo

wg-quick like library with batteries included

Go Reference Go Report Card


This is a friendly fork of wg-quick-go. 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 release page.

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)).