wg-quick-go icon indicating copy to clipboard operation
wg-quick-go copied to clipboard

wg-quick like library in go for embedding

wg-quick-go

Build Status GoDoc Go Report Card

wg-quick like library in go for embedding

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