hotfix(protonvpn): port forward only option

- Allow to use with Protonvpn (not just PIA)
- Update code comments
- Check server supports port forwarding when invoking port forward code
This commit is contained in:
Quentin McGaw
2024-07-31 14:43:59 +00:00
parent aaf3019d8c
commit c5c37e7f96
3 changed files with 14 additions and 7 deletions

View File

@@ -11,9 +11,17 @@ import (
"github.com/qdm12/gluetun/internal/provider/utils"
)
var (
ErrServerPortForwardNotSupported = errors.New("server does not support port forwarding")
)
// PortForward obtains a VPN server side port forwarded from ProtonVPN gateway.
func (p *Provider) PortForward(ctx context.Context, objects utils.PortForwardObjects) (
ports []uint16, err error) {
if !objects.CanPortForward {
return nil, fmt.Errorf("%w", ErrServerPortForwardNotSupported)
}
client := natpmp.New()
_, externalIPv4Address, err := client.ExternalAddress(ctx,
objects.Gateway)