Skip to content

Commit 5d75bbc

Browse files
committed
feat(config): only use port forwarding servers when port forwarding is enabled for ProtonVPN and PIA
1 parent 72e227f commit 5d75bbc

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

internal/configuration/settings/provider.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ func (p *Provider) overrideWith(other Provider) {
7676

7777
func (p *Provider) setDefaults() {
7878
p.Name = gosettings.DefaultComparable(p.Name, providers.PrivateInternetAccess)
79-
p.ServerSelection.setDefaults(p.Name)
8079
p.PortForwarding.setDefaults()
80+
p.ServerSelection.setDefaults(p.Name, *p.PortForwarding.Enabled)
8181
}
8282

8383
func (p Provider) String() string {

internal/configuration/settings/serverselection.go

+9-3
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ func (ss *ServerSelection) overrideWith(other ServerSelection) {
294294
ss.Wireguard.overrideWith(other.Wireguard)
295295
}
296296

297-
func (ss *ServerSelection) setDefaults(vpnProvider string) {
297+
func (ss *ServerSelection) setDefaults(vpnProvider string, portForwardingEnabled bool) {
298298
ss.VPN = gosettings.DefaultComparable(ss.VPN, vpn.OpenVPN)
299299
ss.TargetIP = gosettings.DefaultValidator(ss.TargetIP, netip.IPv4Unspecified())
300300
ss.OwnedOnly = gosettings.DefaultPointer(ss.OwnedOnly, false)
@@ -304,7 +304,12 @@ func (ss *ServerSelection) setDefaults(vpnProvider string) {
304304
ss.SecureCoreOnly = gosettings.DefaultPointer(ss.SecureCoreOnly, false)
305305
ss.TorOnly = gosettings.DefaultPointer(ss.TorOnly, false)
306306
ss.MultiHopOnly = gosettings.DefaultPointer(ss.MultiHopOnly, false)
307-
ss.PortForwardOnly = gosettings.DefaultPointer(ss.PortForwardOnly, false)
307+
defaultPortForwardOnly := false
308+
if portForwardingEnabled && helpers.IsOneOf(vpnProvider,
309+
providers.PrivateInternetAccess, providers.Protonvpn) {
310+
defaultPortForwardOnly = true
311+
}
312+
ss.PortForwardOnly = gosettings.DefaultPointer(ss.PortForwardOnly, defaultPortForwardOnly)
308313
ss.OpenVPN.setDefaults(vpnProvider)
309314
ss.Wireguard.setDefaults()
310315
}
@@ -399,7 +404,8 @@ func (ss ServerSelection) toLinesNode() (node *gotree.Node) {
399404
// WithDefaults is a shorthand using setDefaults.
400405
// It's used in unit tests in other packages.
401406
func (ss ServerSelection) WithDefaults(provider string) ServerSelection {
402-
ss.setDefaults(provider)
407+
const portForwardingEnabled = false
408+
ss.setDefaults(provider, portForwardingEnabled)
403409
return ss
404410
}
405411

0 commit comments

Comments
 (0)