wg-quicker/README.md

56 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

2021-01-21 13:25:17 +01:00
<p align="center">
<img src="./logo.png" width="587" alt="logo">
<p align="center"><b>wg-quick like library with batteries included</b></p>
2021-01-25 15:20:09 +01:00
<p align="center">
<a href="https://ci.xsfx.dev/xsteadfastx/wg-quicker"><img src="https://ci.xsfx.dev/api/badges/xsteadfastx/wg-quicker/status.svg" /></a>
<a href="https://pkg.go.dev/go.xsfx.dev/wg-quicker"><img src="https://pkg.go.dev/badge/go.xsfx.dev/wg-quicker.svg" alt="Go Reference"></a>
<a href="https://goreportcard.com/report/go.xsfx.dev/wg-quicker"><img src="https://goreportcard.com/badge/go.xsfx.dev/wg-quicker" alt="Go Report Card"></a>
</p>
2021-01-21 13:25:17 +01:00
</p>
2021-01-21 13:25:17 +01:00
---
2021-01-25 15:21:18 +01:00
This is a friendly fork of [wg-quick-go](https://github.com/nmiculinic/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.
2021-01-21 13:25:17 +01:00
# Installation
## Prebuild packages
2021-01-27 11:35:23 +01:00
Get these on the release [page](https://github.com/xsteadfastx/wg-quicker/releases).
## Homebrew
- `brew tap xsteadfastx/tap https://github.com/xsteadfastx/homebrew-tap`
- `brew install wg-quicker`
2021-01-21 13:25:17 +01:00
## Compile it for yourself
- `git clone https://git.xsfx.dev/xsteadfastx/wg-quicker.git`
- `cd wg-quicker`
- `make build`
2019-03-26 13:57:33 +01:00
# Roadmap
2021-01-21 12:24:32 +01:00
- [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
2021-01-21 13:25:17 +01:00
- [x] Embedded [wireguard-go](https://git.zx2c4.com/wireguard-go/about/)
2021-01-21 12:24:32 +01:00
- [ ] Integration tests ((TODO; have some virtual machines/kvm and wreck havoc :) ))
2019-03-27 17:55:39 +01:00
# Caveats
2021-01-21 12:24:32 +01:00
- 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)).