From 5603e255423564fd1b9eb5488bdf6a3388e50eca Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Sat, 29 Jan 2022 15:00:04 +0000 Subject: [PATCH] chore(env): `VPN_INTERFACE` - With retro-compatibility with `OPENVPN_INTERFACE` - With retro-compatibility with `WIREGUARD_INTERFACE` --- Dockerfile | 3 +-- internal/configuration/sources/env/openvpn.go | 2 +- internal/configuration/sources/env/vpn.go | 2 +- internal/configuration/sources/env/wireguard.go | 4 ++-- internal/portforward/state/startdata.go | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index debda4b4..5a9fe74e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -71,6 +71,7 @@ ENV VPNSP=pia \ # Common VPN options VPN_ENDPOINT_IP= \ VPN_ENDPOINT_PORT= \ + VPN_INTERFACE=tun0 \ # OpenVPN OPENVPN_PROTOCOL=udp \ OPENVPN_USER= \ @@ -85,13 +86,11 @@ ENV VPNSP=pia \ OPENVPN_PROCESS_USER= \ OPENVPN_IPV6=off \ OPENVPN_CUSTOM_CONFIG= \ - OPENVPN_INTERFACE=tun0 \ # Wireguard WIREGUARD_PRIVATE_KEY= \ WIREGUARD_PRESHARED_KEY= \ WIREGUARD_PUBLIC_KEY= \ WIREGUARD_ADDRESS= \ - WIREGUARD_INTERFACE=wg0 \ # VPN server filtering REGION= \ COUNTRY= \ diff --git a/internal/configuration/sources/env/openvpn.go b/internal/configuration/sources/env/openvpn.go index 9918433c..bd0dde3e 100644 --- a/internal/configuration/sources/env/openvpn.go +++ b/internal/configuration/sources/env/openvpn.go @@ -51,7 +51,7 @@ func (r *Reader) readOpenVPN() ( return openVPN, fmt.Errorf("environment variable OPENVPN_MSSFIX: %w", err) } - openVPN.Interface = os.Getenv("OPENVPN_INTERFACE") + _, openVPN.Interface = r.getEnvWithRetro("VPN_INTERFACE", "OPENVPN_INTERFACE") openVPN.ProcessUser, err = r.readOpenVPNProcessUser() if err != nil { diff --git a/internal/configuration/sources/env/vpn.go b/internal/configuration/sources/env/vpn.go index 23176555..11a4efde 100644 --- a/internal/configuration/sources/env/vpn.go +++ b/internal/configuration/sources/env/vpn.go @@ -21,7 +21,7 @@ func (r *Reader) readVPN() (vpn settings.VPN, err error) { return vpn, fmt.Errorf("cannot read OpenVPN settings: %w", err) } - vpn.Wireguard, err = readWireguard() + vpn.Wireguard, err = r.readWireguard() if err != nil { return vpn, fmt.Errorf("cannot read Wireguard settings: %w", err) } diff --git a/internal/configuration/sources/env/wireguard.go b/internal/configuration/sources/env/wireguard.go index fccc3539..0508855c 100644 --- a/internal/configuration/sources/env/wireguard.go +++ b/internal/configuration/sources/env/wireguard.go @@ -9,13 +9,13 @@ import ( "github.com/qdm12/gluetun/internal/configuration/settings" ) -func readWireguard() (wireguard settings.Wireguard, err error) { +func (r *Reader) readWireguard() (wireguard settings.Wireguard, err error) { defer func() { err = unsetEnvKeys([]string{"WIREGUARD_PRIVATE_KEY", "WIREGUARD_PRESHARED_KEY"}, err) }() wireguard.PrivateKey = envToStringPtr("WIREGUARD_PRIVATE_KEY") wireguard.PreSharedKey = envToStringPtr("WIREGUARD_PRESHARED_KEY") - wireguard.Interface = os.Getenv("WIREGUARD_INTERFACE") + _, wireguard.Interface = r.getEnvWithRetro("VPN_INTERFACE", "WIREGUARD_INTERFACE") wireguard.Addresses, err = readWireguardAddresses() if err != nil { return wireguard, err // already wrapped diff --git a/internal/portforward/state/startdata.go b/internal/portforward/state/startdata.go index 292ecc0d..b912557b 100644 --- a/internal/portforward/state/startdata.go +++ b/internal/portforward/state/startdata.go @@ -10,7 +10,7 @@ type StartData struct { PortForwarder provider.PortForwarder Gateway net.IP // needed for PIA ServerName string // needed for PIA - Interface string // tun0 or wg0 for example + Interface string // tun0 for example } type StartDataGetterSetter interface {