chore!(amneziawg): refactor to be separate from wireguard

- amneziawg is now a VPN protocol and no longer a Wireguard implementation
- Use it with VPN_TYPE=amneziawg
- document AMNEZIAWG_* options in Dockerfile
- document amneziawg support in readme
- separate amneziawg settings and code from wireguard
- re-use code from wireguard whenever possible
This commit is contained in:
Quentin McGaw
2026-03-11 16:35:18 +00:00
parent efea169495
commit b04529c380
54 changed files with 1608 additions and 741 deletions
+5 -4
View File
@@ -5,15 +5,16 @@ import (
"net/netip"
)
func (w *Wireguard) addAddresses(linkIndex uint32,
addresses []netip.Prefix,
func AddAddresses(linkIndex uint32,
addresses []netip.Prefix, ipv6 bool,
netlink NetLinker,
) (err error) {
for _, address := range addresses {
if !*w.settings.IPv6 && address.Addr().Is6() {
if !ipv6 && address.Addr().Is6() {
continue
}
err = w.netlink.AddrReplace(linkIndex, address)
err = netlink.AddrReplace(linkIndex, address)
if err != nil {
return fmt.Errorf("%w: when adding address %s to link with index %d",
err, address, linkIndex)