diff --git a/internal/provider/cyberghost/openvpnconf.go b/internal/provider/cyberghost/openvpnconf.go index 65eeaf70..5bb5ac93 100644 --- a/internal/provider/cyberghost/openvpnconf.go +++ b/internal/provider/cyberghost/openvpnconf.go @@ -68,6 +68,13 @@ func (c *Cyberghost) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "mssfix "+strconv.Itoa(int(settings.MSSFix))) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.CyberghostCertificate)...) lines = append(lines, utils.WrapOpenvpnCert( diff --git a/internal/provider/fastestvpn/openvpnconf.go b/internal/provider/fastestvpn/openvpnconf.go index 5b10b10e..906930c9 100644 --- a/internal/provider/fastestvpn/openvpnconf.go +++ b/internal/provider/fastestvpn/openvpnconf.go @@ -62,6 +62,13 @@ func (f *Fastestvpn) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "user "+username) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.FastestvpnCertificate)...) lines = append(lines, utils.WrapOpenvpnTLSAuth( diff --git a/internal/provider/hidemyass/openvpnconf.go b/internal/provider/hidemyass/openvpnconf.go index 7f99b458..c3cee8ba 100644 --- a/internal/provider/hidemyass/openvpnconf.go +++ b/internal/provider/hidemyass/openvpnconf.go @@ -59,6 +59,13 @@ func (h *HideMyAss) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "user "+username) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.HideMyAssCA)...) lines = append(lines, utils.WrapOpenvpnCert( diff --git a/internal/provider/ipvanish/openvpnconf.go b/internal/provider/ipvanish/openvpnconf.go index a3e63e29..93570b64 100644 --- a/internal/provider/ipvanish/openvpnconf.go +++ b/internal/provider/ipvanish/openvpnconf.go @@ -57,6 +57,13 @@ func (i *Ipvanish) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "user "+username) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA(constants.IpvanishCA)...) lines = append(lines, "") diff --git a/internal/provider/ivpn/openvpnconf.go b/internal/provider/ivpn/openvpnconf.go index f0a1e339..dfa0bba1 100644 --- a/internal/provider/ivpn/openvpnconf.go +++ b/internal/provider/ivpn/openvpnconf.go @@ -63,6 +63,13 @@ func (i *Ivpn) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "user "+username) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.IvpnCA)...) lines = append(lines, utils.WrapOpenvpnTLSAuth( diff --git a/internal/provider/mullvad/openvpnconf.go b/internal/provider/mullvad/openvpnconf.go index 0f8f8679..28b20533 100644 --- a/internal/provider/mullvad/openvpnconf.go +++ b/internal/provider/mullvad/openvpnconf.go @@ -71,6 +71,13 @@ func (m *Mullvad) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "mssfix "+strconv.Itoa(int(settings.MSSFix))) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.MullvadCertificate)...) diff --git a/internal/provider/nordvpn/openvpnconf.go b/internal/provider/nordvpn/openvpnconf.go index 788fbccc..7d3b79fb 100644 --- a/internal/provider/nordvpn/openvpnconf.go +++ b/internal/provider/nordvpn/openvpnconf.go @@ -67,6 +67,13 @@ func (n *Nordvpn) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "user "+username) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.NordvpnCertificate)...) lines = append(lines, utils.WrapOpenvpnTLSAuth( diff --git a/internal/provider/privado/openvpnconf.go b/internal/provider/privado/openvpnconf.go index 03f22f45..bd6ef52c 100644 --- a/internal/provider/privado/openvpnconf.go +++ b/internal/provider/privado/openvpnconf.go @@ -58,6 +58,13 @@ func (p *Privado) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "mssfix "+strconv.Itoa(int(settings.MSSFix))) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.PrivadoCertificate)...) diff --git a/internal/provider/privateinternetaccess/openvpnconf.go b/internal/provider/privateinternetaccess/openvpnconf.go index 54eb72bf..6d5032e6 100644 --- a/internal/provider/privateinternetaccess/openvpnconf.go +++ b/internal/provider/privateinternetaccess/openvpnconf.go @@ -81,6 +81,13 @@ func (p *PIA) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "mssfix "+strconv.Itoa(int(settings.MSSFix))) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA(certificate)...) lines = append(lines, utils.WrapOpenvpnCRLVerify(X509CRL)...) diff --git a/internal/provider/privatevpn/openvpnconf.go b/internal/provider/privatevpn/openvpnconf.go index 3fbc4ae4..979bc875 100644 --- a/internal/provider/privatevpn/openvpnconf.go +++ b/internal/provider/privatevpn/openvpnconf.go @@ -29,7 +29,6 @@ func (p *Privatevpn) BuildConf(connection models.OpenVPNConnection, // Privatevpn specific "comp-lzo", - "tun-ipv6", // Added constant values "auth-nocache", @@ -60,6 +59,13 @@ func (p *Privatevpn) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "mssfix "+strconv.Itoa(int(settings.MSSFix))) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.PrivatevpnCertificate)...) lines = append(lines, utils.WrapOpenvpnTLSCrypt( diff --git a/internal/provider/protonvpn/openvpnconf.go b/internal/provider/protonvpn/openvpnconf.go index b64983b2..4a37a27b 100644 --- a/internal/provider/protonvpn/openvpnconf.go +++ b/internal/provider/protonvpn/openvpnconf.go @@ -66,6 +66,13 @@ func (p *Protonvpn) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "user "+username) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.ProtonvpnCertificate)...) lines = append(lines, utils.WrapOpenvpnTLSAuth( diff --git a/internal/provider/purevpn/openvpnconf.go b/internal/provider/purevpn/openvpnconf.go index 0a5af356..8d3e9b3f 100644 --- a/internal/provider/purevpn/openvpnconf.go +++ b/internal/provider/purevpn/openvpnconf.go @@ -66,6 +66,13 @@ func (p *Purevpn) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "user "+username) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.PurevpnCertificateAuthority)...) lines = append(lines, utils.WrapOpenvpnCert( diff --git a/internal/provider/surfshark/openvpnconf.go b/internal/provider/surfshark/openvpnconf.go index 4adb5ced..fd1eeaa2 100644 --- a/internal/provider/surfshark/openvpnconf.go +++ b/internal/provider/surfshark/openvpnconf.go @@ -64,6 +64,13 @@ func (s *Surfshark) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "user "+username) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.SurfsharkCertificate)...) lines = append(lines, utils.WrapOpenvpnTLSAuth( diff --git a/internal/provider/torguard/openvpnconf.go b/internal/provider/torguard/openvpnconf.go index 9c30ce90..7178aa5d 100644 --- a/internal/provider/torguard/openvpnconf.go +++ b/internal/provider/torguard/openvpnconf.go @@ -70,6 +70,13 @@ func (t *Torguard) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "fast-io") } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.TorguardCertificate)...) lines = append(lines, utils.WrapOpenvpnTLSAuth( diff --git a/internal/provider/vpnunlimited/openvpnconf.go b/internal/provider/vpnunlimited/openvpnconf.go index 24afcb2e..70668492 100644 --- a/internal/provider/vpnunlimited/openvpnconf.go +++ b/internal/provider/vpnunlimited/openvpnconf.go @@ -35,7 +35,6 @@ func (p *Provider) BuildConf(connection models.OpenVPNConnection, // Modified variables "verb " + strconv.Itoa(settings.Verbosity), - // "auth-user-pass " + constants.OpenVPNAuthConf, connection.ProtoLine(), connection.RemoteLine(), } @@ -56,6 +55,13 @@ func (p *Provider) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "user "+username) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.VPNUnlimitedCertificateAuthority)...) lines = append(lines, utils.WrapOpenvpnCert( diff --git a/internal/provider/windscribe/openvpnconf.go b/internal/provider/windscribe/openvpnconf.go index 7c7ebdea..0ce69ad4 100644 --- a/internal/provider/windscribe/openvpnconf.go +++ b/internal/provider/windscribe/openvpnconf.go @@ -67,6 +67,13 @@ func (w *Windscribe) BuildConf(connection models.OpenVPNConnection, lines = append(lines, "mssfix "+strconv.Itoa(int(settings.MSSFix))) } + if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { + lines = append(lines, "tun-ipv6") + } else { + lines = append(lines, `pull-filter ignore "route-ipv6"`) + lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`) + } + lines = append(lines, utils.WrapOpenvpnCA( constants.WindscribeCertificate)...) lines = append(lines, utils.WrapOpenvpnTLSAuth(