The program will convert IPv4-only wireguard-interfaces to IPv6. It converts and adds the Address of the Interface and AllowedIPs-Entries with optional filters.
IPv6-Adresses are generated based on the IPv4-Adress.
Beware: This program needs `NET_ADMIN` privileges for setting Adresses and to access the wireguard-daemon.
<br>
# 2. Install
## 2.1. From Binary
1. Download the appripriate binary for your system from the Release-page (or build from sources)
2. Save at an appropriate location e.g. `/usr/bin/local/wg-ipv6-converter`
3. Make executeable: `chmod +x /usr/bin/local/wg-ipv6-converter`
<br>
## 2.2. From sources
Clone the repository and compile using `go build ./cmd/app`
<br>
# 3. Setup
## 3.1. Environment
Variable|Description|Default
-|-|-
`INTERFACE`* | Wireguard-Interface Name |
`IPV6_FORMAT` | Format to use for converting v4 to v6 <br> The CIDR-Mask gets translated using 128 - 24 - Mask <br> e.g. `10.0.100.5/16` -> `fc12::0a00:6405/96` | `fc12::%02x%02x:%02x%02x/%d`
`RECHECK_INTERVAL` | Interval in seconds to recheck AllowedIPs entries in case something changed | 300
*\* Required*
<br>
## 3.2. Examples
### 3.2.1. Netbird
Netbird is at the moment only IPv4-compatible, with this program running where necessary, some basic IPv6-setup can be archieved.