Privado support, fix #285 (#288)

This commit is contained in:
Quentin McGaw
2020-11-08 20:56:49 -05:00
committed by GitHub
parent 0423388b52
commit f1e4b9937b
24 changed files with 610 additions and 9 deletions

View File

@@ -68,6 +68,8 @@ func GetOpenVPNSettings(paramsReader params.Reader, vpnProvider models.VPNProvid
settings.Provider, err = GetNordvpnSettings(paramsReader)
case constants.Purevpn:
settings.Provider, err = GetPurevpnSettings(paramsReader)
case constants.Privado:
settings.Provider, err = GetPrivadoSettings(paramsReader)
default:
err = fmt.Errorf("VPN service provider %q is not valid", vpnProvider)
}

View File

@@ -232,3 +232,25 @@ func GetPurevpnSettings(paramsReader params.Reader) (settings models.ProviderSet
}
return settings, nil
}
// GetPrivadoSettings obtains Privado settings from environment variables using the params package.
func GetPrivadoSettings(paramsReader params.Reader) (settings models.ProviderSettings, err error) {
settings.Name = constants.Privado
settings.ServerSelection.Protocol, err = paramsReader.GetNetworkProtocol()
if err != nil {
return settings, err
}
settings.ServerSelection.TargetIP, err = paramsReader.GetTargetIP()
if err != nil {
return settings, err
}
settings.ServerSelection.Cities, err = paramsReader.GetPrivadoCities()
if err != nil {
return settings, err
}
settings.ServerSelection.Numbers, err = paramsReader.GetPrivadoNumbers()
if err != nil {
return settings, err
}
return settings, nil
}