Go to file
2019-04-18 09:50:23 +02:00
.idea Added route protocol filtering 2019-03-29 10:48:33 +01:00
cmd/wg-quick update 2019-03-29 12:40:15 +01:00
.gitignore Added route protocol filtering 2019-03-29 10:48:33 +01:00
.gitlab-ci.yml upd 2019-03-28 16:29:16 +01:00
.pre-commit-config.yaml initial commit 2019-03-26 13:44:38 +01:00
config_test.go Fixed PersistentKeepalive serialization 2019-04-18 09:50:23 +02:00
config.go Fixed PersistentKeepalive serialization 2019-04-18 09:50:23 +02:00
go.mod using unix constants instead of hard coding my own 2019-03-29 12:59:45 +01:00
go.sum using unix constants instead of hard coding my own 2019-03-29 12:59:45 +01:00
LICENSE Initial commit 2019-03-26 13:28:22 +01:00
README.md gofmt + various feature implementations 2019-03-28 12:38:22 +01:00
wg.go using unix constants instead of hard coding my own 2019-03-29 12:59:45 +01:00

wg-quick-go

Build Status GoDoc Go Report Card

wg-quick like library in go for embedding

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