Maintenance: split each provider in a package

- Fix VyprVPN port
- Fix missing Auth overrides
This commit is contained in:
Quentin McGaw
2021-05-11 17:10:51 +00:00
parent 1cb93d76ed
commit e8c8742bae
104 changed files with 3685 additions and 3026 deletions

View File

@@ -0,0 +1,41 @@
package protonvpn
import (
"errors"
"fmt"
)
func getPort(tcp bool, customPort uint16) (port uint16, err error) {
if customPort == 0 {
const defaultTCPPort, defaultUDPPort = 443, 1194
if tcp {
return defaultTCPPort, nil
}
return defaultUDPPort, nil
}
if err := checkPort(customPort, tcp); err != nil {
return 0, err
}
return customPort, nil
}
var ErrInvalidPort = errors.New("invalid port number")
func checkPort(port uint16, tcp bool) (err error) {
if tcp {
switch port {
case 443, 5995, 8443: //nolint:gomnd
return nil
default:
return fmt.Errorf("%w: %d for protocol TCP", ErrInvalidPort, port)
}
}
switch port {
case 80, 443, 1194, 4569, 5060: //nolint:gomnd
return nil
default:
return fmt.Errorf("%w: %d for protocol UDP", ErrInvalidPort, port)
}
}