Files
gluetun/internal/params/nordvpn.go

38 lines
1.0 KiB
Go
Raw Normal View History

2020-07-15 18:14:45 -04:00
package params
import (
"fmt"
"strconv"
2020-07-26 12:07:06 +00:00
"github.com/qdm12/gluetun/internal/constants"
2020-07-15 18:14:45 -04:00
)
// GetNordvpnRegions obtains the regions (countries) for the NordVPN server from the
2020-10-20 02:45:28 +00:00
// environment variable REGION.
func (r *reader) GetNordvpnRegions() (regions []string, err error) {
choices := append(constants.NordvpnRegionChoices(), "")
return r.envParams.GetCSVInPossibilities("REGION", choices)
2020-07-15 18:14:45 -04:00
}
// GetNordvpnRegion obtains the server numbers (optional) for the NordVPN servers from the
2020-10-20 02:45:28 +00:00
// environment variable SERVER_NUMBER.
func (r *reader) GetNordvpnNumbers() (numbers []uint16, err error) {
possibilities := make([]string, 65536)
for i := range possibilities {
possibilities[i] = fmt.Sprintf("%d", i)
}
values, err := r.envParams.GetCSVInPossibilities("SERVER_NUMBER", possibilities)
2020-07-15 18:14:45 -04:00
if err != nil {
return nil, err
}
numbers = make([]uint16, len(values))
for i := range values {
n, err := strconv.Atoi(values[i])
if err != nil {
return nil, err
}
numbers[i] = uint16(n)
2020-07-15 18:14:45 -04:00
}
return numbers, nil
2020-07-15 18:14:45 -04:00
}