Compare commits

..

2 Commits

Author SHA1 Message Date
Quentin McGaw
29379ae35d Fix: Empty connections for NordVPN and Windscribe 2021-01-31 18:56:38 +00:00
Quentin McGaw
c74ec9a38b Revert back to Alpine 3.12 for 32 bit systems 2021-01-30 23:15:54 +00:00
43 changed files with 1011 additions and 1647 deletions

View File

@@ -78,7 +78,7 @@ jobs:
echo ::set-output name=platforms::linux/amd64,linux/386,linux/arm64,linux/arm/v6,linux/arm/v7,linux/s390x,linux/ppc64le
else
echo ::set-output name=version::$BRANCH
echo ::set-output name=platforms::linux/amd64
echo ::set-output name=platforms::linux/amd64,linux/386,linux/arm64,linux/arm/v6,linux/arm/v7
fi
- name: Build and push final image

View File

@@ -7,6 +7,7 @@ import (
"net/http"
nativeos "os"
"os/signal"
"strings"
"sync"
"syscall"
"time"
@@ -32,6 +33,7 @@ import (
"github.com/qdm12/gluetun/internal/unix"
"github.com/qdm12/gluetun/internal/updater"
versionpkg "github.com/qdm12/gluetun/internal/version"
"github.com/qdm12/golibs/command"
"github.com/qdm12/golibs/logging"
"github.com/qdm12/golibs/os"
"github.com/qdm12/golibs/os/user"
@@ -108,24 +110,24 @@ func main() {
}
//nolint:gocognit,gocyclo
func _main(ctx context.Context, buildInfo models.BuildInformation,
func _main(background context.Context, buildInfo models.BuildInformation,
args []string, logger logging.Logger, os os.OS, osUser user.OSUser, unix unix.Unix,
cli cli.CLI) error {
if len(args) > 1 { // cli operation
switch args[1] {
case "healthcheck":
return cli.HealthCheck(ctx)
return cli.HealthCheck(background)
case "clientkey":
return cli.ClientKey(args[2:], os.OpenFile)
case "openvpnconfig":
return cli.OpenvpnConfig(os)
case "update":
return cli.Update(ctx, args[2:], os)
return cli.Update(args[2:], os)
default:
return fmt.Errorf("command %q is unknown", args[1])
}
}
ctx, cancel := context.WithCancel(ctx)
ctx, cancel := context.WithCancel(background)
defer cancel()
const clientTimeout = 15 * time.Second
@@ -139,6 +141,7 @@ func _main(ctx context.Context, buildInfo models.BuildInformation,
"/etc/unbound", "/usr/sbin/unbound", cacertsPath)
routingConf := routing.NewRouting(logger)
firewallConf := firewall.NewConfigurator(logger, routingConf, os.OpenFile)
streamMerger := command.NewStreamMerger()
paramsReader := params.NewReader(logger, os)
fmt.Println(gluetunLogging.Splash(buildInfo))
@@ -236,7 +239,9 @@ func _main(ctx context.Context, buildInfo models.BuildInformation,
}
tunnelReadyCh := make(chan struct{})
dnsReadyCh := make(chan struct{})
defer close(tunnelReadyCh)
defer close(dnsReadyCh)
if allSettings.Firewall.Enabled {
err := firewallConf.SetEnabled(ctx, true) // disabled by default
@@ -261,8 +266,11 @@ func _main(ctx context.Context, buildInfo models.BuildInformation,
wg := &sync.WaitGroup{}
wg.Add(1)
go collectStreamLines(ctx, wg, streamMerger, logger, tunnelReadyCh)
openvpnLooper := openvpn.NewLooper(allSettings.OpenVPN, nonRootUsername, puid, pgid, allServers,
ovpnConf, firewallConf, routingConf, logger, httpClient, os.OpenFile, tunnelReadyCh, cancel)
ovpnConf, firewallConf, routingConf, logger, httpClient, os.OpenFile, streamMerger, cancel)
wg.Add(1)
// wait for restartOpenvpn
go openvpnLooper.Run(ctx, wg)
@@ -274,10 +282,10 @@ func _main(ctx context.Context, buildInfo models.BuildInformation,
go updaterLooper.Run(ctx, wg)
unboundLooper := dns.NewLooper(dnsConf, allSettings.DNS, httpClient,
logger, nonRootUsername, puid, pgid)
logger, streamMerger, nonRootUsername, puid, pgid)
wg.Add(1)
// wait for unboundLooper.Restart or its ticker launched with RunRestartTicker
go unboundLooper.Run(ctx, wg)
go unboundLooper.Run(ctx, wg, dnsReadyCh)
publicIPLooper := publicip.NewLooper(
httpClient, logger, allSettings.PublicIP, puid, pgid, os)
@@ -295,7 +303,7 @@ func _main(ctx context.Context, buildInfo models.BuildInformation,
go shadowsocksLooper.Run(ctx, wg)
wg.Add(1)
go routeReadyEvents(ctx, wg, buildInfo, tunnelReadyCh,
go routeReadyEvents(ctx, wg, buildInfo, tunnelReadyCh, dnsReadyCh,
unboundLooper, updaterLooper, publicIPLooper, routingConf, logger, httpClient,
allSettings.VersionInformation, allSettings.OpenVPN.Provider.PortForwarding.Enabled, openvpnLooper.PortForward,
)
@@ -344,8 +352,44 @@ func printVersions(ctx context.Context, logger logging.Logger,
}
}
func collectStreamLines(ctx context.Context, wg *sync.WaitGroup,
streamMerger command.StreamMerger,
logger logging.Logger, tunnelReadyCh chan<- struct{}) {
defer wg.Done()
// Blocking line merging paramsReader for openvpn and unbound
logger.Info("Launching standard output merger")
streamMerger.CollectLines(ctx, func(line string) {
line, level := gluetunLogging.PostProcessLine(line)
if line == "" {
return
}
switch level {
case logging.DebugLevel:
logger.Debug(line)
case logging.InfoLevel:
logger.Info(line)
case logging.WarnLevel:
logger.Warn(line)
case logging.ErrorLevel:
logger.Error(line)
}
switch {
case strings.Contains(line, "Initialization Sequence Completed"):
tunnelReadyCh <- struct{}{}
case strings.Contains(line, "TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)"): //nolint:lll
logger.Warn("This means that either...")
logger.Warn("1. The VPN server IP address you are trying to connect to is no longer valid, see https://github.com/qdm12/gluetun/wiki/Update-servers-information") //nolint:lll
logger.Warn("2. The VPN server crashed, try changing region")
logger.Warn("3. Your Internet connection is not working, ensure it works")
logger.Warn("Feel free to create an issue at https://github.com/qdm12/gluetun/issues/new/choose")
}
}, func(err error) {
logger.Warn(err)
})
}
func routeReadyEvents(ctx context.Context, wg *sync.WaitGroup, buildInfo models.BuildInformation,
tunnelReadyCh <-chan struct{},
tunnelReadyCh, dnsReadyCh <-chan struct{},
unboundLooper dns.Looper, updaterLooper updater.Looper, publicIPLooper publicip.Looper,
routing routing.Routing, logger logging.Logger, httpClient *http.Client,
versionInformation, portForwardingEnabled bool, startPortForward func(vpnGateway net.IP)) {
@@ -354,7 +398,6 @@ func routeReadyEvents(ctx context.Context, wg *sync.WaitGroup, buildInfo models.
// for linters only
var restartTickerContext context.Context
var restartTickerCancel context.CancelFunc = func() {}
first := true
for {
select {
case <-ctx.Done():
@@ -362,41 +405,22 @@ func routeReadyEvents(ctx context.Context, wg *sync.WaitGroup, buildInfo models.
tickerWg.Wait()
return
case <-tunnelReadyCh: // blocks until openvpn is connected
if unboundLooper.GetSettings().Enabled {
_, _ = unboundLooper.SetStatus(constants.Running)
}
restartTickerCancel() // stop previous restart tickers
tickerWg.Wait()
restartTickerContext, restartTickerCancel = context.WithCancel(ctx)
//nolint:gomnd
tickerWg.Add(2)
go unboundLooper.RunRestartTicker(restartTickerContext, tickerWg)
go updaterLooper.RunRestartTicker(restartTickerContext, tickerWg)
vpnDestination, err := routing.VPNDestinationIP()
if err != nil {
logger.Warn(err)
} else {
logger.Info("VPN routing IP address: %s", vpnDestination)
}
if unboundLooper.GetSettings().Enabled {
_, _ = unboundLooper.SetStatus(constants.Running)
}
restartTickerCancel() // stop previous restart tickers
tickerWg.Wait()
restartTickerContext, restartTickerCancel = context.WithCancel(ctx)
// Runs the Public IP getter job once
_, _ = publicIPLooper.SetStatus(constants.Running)
if !versionInformation {
break
}
if first {
first = false
message, err := versionpkg.GetMessage(ctx, buildInfo, httpClient)
if err != nil {
logger.Error(err)
} else {
logger.Info(message)
}
}
//nolint:gomnd
tickerWg.Add(2)
go unboundLooper.RunRestartTicker(restartTickerContext, tickerWg)
go updaterLooper.RunRestartTicker(restartTickerContext, tickerWg)
if portForwardingEnabled {
// vpnGateway required only for PIA
vpnGateway, err := routing.VPNLocalGatewayIP()
@@ -406,6 +430,18 @@ func routeReadyEvents(ctx context.Context, wg *sync.WaitGroup, buildInfo models.
logger.Info("VPN gateway IP address: %s", vpnGateway)
startPortForward(vpnGateway)
}
case <-dnsReadyCh:
// Runs the Public IP getter job once
_, _ = publicIPLooper.SetStatus(constants.Running)
if !versionInformation {
break
}
message, err := versionpkg.GetMessage(ctx, buildInfo, httpClient)
if err != nil {
logger.Error(err)
break
}
logger.Info(message)
}
}
}

4
go.mod
View File

@@ -6,8 +6,8 @@ require (
github.com/fatih/color v1.10.0
github.com/golang/mock v1.4.4
github.com/kyokomi/emoji v2.2.4+incompatible
github.com/qdm12/dns v1.4.0-rc5
github.com/qdm12/golibs v0.0.0-20210124192933-79a950eaf217
github.com/qdm12/dns v1.4.0-rc4
github.com/qdm12/golibs v0.0.0-20210110211000-0a3a4541ae09
github.com/qdm12/ss-server v0.1.0
github.com/qdm12/updated v0.0.0-20210102005021-dd457d77f94a
github.com/stretchr/testify v1.7.0

10
go.sum
View File

@@ -92,11 +92,13 @@ github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/qdm12/dns v1.4.0-rc5 h1:XXjYaFI3pDY1U4YFH5t5AI5IEKlIALmnE34VFhgkdQE=
github.com/qdm12/dns v1.4.0-rc5/go.mod h1:WUY4/U8Z2O8888DPrahrIBv8GdYeoIcEy4aUDecZ+UM=
github.com/qdm12/dns v1.4.0-rc4 h1:pCcFMqismbktPQX7yrtdmJZq30Y05JBfWRTXY1ZLVFw=
github.com/qdm12/dns v1.4.0-rc4/go.mod h1:JhUKBhuDRYBUQ2XwW/jbeWx/qS0sSJjIFjGTCFGP5I8=
github.com/qdm12/golibs v0.0.0-20201227203847-2fd99ffdfdba/go.mod h1:pikkTN7g7zRuuAnERwqW1yAFq6pYmxrxpjiwGvb0Ysc=
github.com/qdm12/golibs v0.0.0-20210124192933-79a950eaf217 h1:/eMBq0vbc/KmVPXbwLfssp547pp6APRS1x/JNmPvm0s=
github.com/qdm12/golibs v0.0.0-20210124192933-79a950eaf217/go.mod h1:pikkTN7g7zRuuAnERwqW1yAFq6pYmxrxpjiwGvb0Ysc=
github.com/qdm12/golibs v0.0.0-20210102020307-17bc97def973 h1:5YeJALmDjvg2wSi6XB8MpQQekbT/eBnwGahJrh01HHQ=
github.com/qdm12/golibs v0.0.0-20210102020307-17bc97def973/go.mod h1:pikkTN7g7zRuuAnERwqW1yAFq6pYmxrxpjiwGvb0Ysc=
github.com/qdm12/golibs v0.0.0-20210110211000-0a3a4541ae09 h1:zP+ZRwV3GldgTWFgKNBQ2zoFA8mIczb+fvTvrX8LZRo=
github.com/qdm12/golibs v0.0.0-20210110211000-0a3a4541ae09/go.mod h1:pikkTN7g7zRuuAnERwqW1yAFq6pYmxrxpjiwGvb0Ysc=
github.com/qdm12/ss-server v0.1.0 h1:WV9MkHCDEWRwe4WpnYFeR/zcZAxYoTbfntLDnw9AQ50=
github.com/qdm12/ss-server v0.1.0/go.mod h1:ABVUkxubboL3vqBkOwDV9glX1/x7SnYrckBe5d+M/zw=
github.com/qdm12/updated v0.0.0-20210102005021-dd457d77f94a h1:gkyP+gMEeBgMgyRYGrVNcoy6cL1065IvXsyfB6xboIc=

View File

@@ -10,7 +10,7 @@ type CLI interface {
ClientKey(args []string, openFile os.OpenFileFunc) error
HealthCheck(ctx context.Context) error
OpenvpnConfig(os os.OS) error
Update(ctx context.Context, args []string, os os.OS) error
Update(args []string, os os.OS) error
}
type cli struct{}

View File

@@ -15,7 +15,7 @@ import (
"github.com/qdm12/golibs/os"
)
func (c *cli) Update(ctx context.Context, args []string, os os.OS) error {
func (c *cli) Update(args []string, os os.OS) error {
options := settings.Updater{CLI: true}
var flushToFile bool
flagSet := flag.NewFlagSet("update", flag.ExitOnError)
@@ -41,7 +41,7 @@ func (c *cli) Update(ctx context.Context, args []string, os os.OS) error {
if !flushToFile && !options.Stdout {
return fmt.Errorf("at least one of -file or -stdout must be specified")
}
ctx := context.Background()
const clientTimeout = 10 * time.Second
httpClient := &http.Client{Timeout: clientTimeout}
storage := storage.New(logger, os, constants.ServersData)

View File

@@ -43,180 +43,189 @@ func CyberghostGroupChoices() (choices []string) {
//nolint:lll
func CyberghostServers() []models.CyberghostServer {
return []models.CyberghostServer{
{Region: "Albania", Group: "Premium TCP Europe", IPs: []net.IP{{31, 171, 152, 99}, {31, 171, 152, 100}, {31, 171, 152, 101}, {31, 171, 152, 102}, {31, 171, 152, 105}, {31, 171, 152, 108}, {31, 171, 152, 132}, {31, 171, 152, 136}, {31, 171, 152, 139}, {31, 171, 152, 140}}},
{Region: "Albania", Group: "Premium UDP Europe", IPs: []net.IP{{31, 171, 152, 102}, {31, 171, 152, 103}, {31, 171, 152, 105}, {31, 171, 152, 106}, {31, 171, 152, 108}, {31, 171, 152, 109}, {31, 171, 152, 110}, {31, 171, 152, 135}, {31, 171, 152, 137}, {31, 171, 152, 139}}},
{Region: "Algeria", Group: "Premium UDP Europe", IPs: []net.IP{{176, 125, 228, 131}, {176, 125, 228, 132}, {176, 125, 228, 133}, {176, 125, 228, 134}, {176, 125, 228, 135}, {176, 125, 228, 136}, {176, 125, 228, 137}, {176, 125, 228, 140}, {176, 125, 228, 142}, {176, 125, 228, 143}}},
{Region: "Algeria", Group: "Premium TCP Europe", IPs: []net.IP{{176, 125, 228, 131}, {176, 125, 228, 132}, {176, 125, 228, 133}, {176, 125, 228, 134}, {176, 125, 228, 136}, {176, 125, 228, 139}, {176, 125, 228, 140}, {176, 125, 228, 141}, {176, 125, 228, 142}, {176, 125, 228, 143}}},
{Region: "Andorra", Group: "Premium UDP Europe", IPs: []net.IP{{188, 241, 82, 132}, {188, 241, 82, 133}, {188, 241, 82, 135}, {188, 241, 82, 138}, {188, 241, 82, 141}, {188, 241, 82, 144}, {188, 241, 82, 146}, {188, 241, 82, 157}, {188, 241, 82, 159}, {188, 241, 82, 166}}},
{Region: "Andorra", Group: "Premium TCP Europe", IPs: []net.IP{{188, 241, 82, 135}, {188, 241, 82, 136}, {188, 241, 82, 140}, {188, 241, 82, 142}, {188, 241, 82, 149}, {188, 241, 82, 151}, {188, 241, 82, 154}, {188, 241, 82, 160}, {188, 241, 82, 163}, {188, 241, 82, 165}}},
{Region: "Argentina", Group: "Premium UDP USA", IPs: []net.IP{{190, 106, 130, 15}, {190, 106, 130, 16}, {190, 106, 130, 20}, {190, 106, 130, 21}, {190, 106, 130, 22}, {190, 106, 130, 23}, {190, 106, 130, 37}, {190, 106, 130, 39}, {190, 106, 130, 43}, {190, 106, 130, 44}}},
{Region: "Argentina", Group: "Premium TCP USA", IPs: []net.IP{{190, 106, 130, 16}, {190, 106, 130, 17}, {190, 106, 130, 18}, {190, 106, 130, 26}, {190, 106, 130, 38}, {190, 106, 130, 40}, {190, 106, 130, 41}, {190, 106, 130, 42}, {190, 106, 130, 45}, {190, 106, 130, 52}}},
{Region: "Armenia", Group: "Premium UDP Europe", IPs: []net.IP{{185, 253, 160, 131}, {185, 253, 160, 132}, {185, 253, 160, 134}, {185, 253, 160, 135}, {185, 253, 160, 136}, {185, 253, 160, 137}, {185, 253, 160, 138}, {185, 253, 160, 139}, {185, 253, 160, 141}, {185, 253, 160, 144}}},
{Region: "Armenia", Group: "Premium TCP Europe", IPs: []net.IP{{185, 253, 160, 133}, {185, 253, 160, 134}, {185, 253, 160, 136}, {185, 253, 160, 137}, {185, 253, 160, 138}, {185, 253, 160, 139}, {185, 253, 160, 140}, {185, 253, 160, 141}, {185, 253, 160, 143}, {185, 253, 160, 144}}},
{Region: "Australia", Group: "Premium TCP Asia", IPs: []net.IP{{43, 242, 68, 111}, {43, 242, 68, 113}, {43, 242, 68, 120}, {202, 60, 80, 16}, {202, 60, 80, 72}, {202, 60, 80, 96}, {202, 60, 80, 151}, {202, 60, 80, 172}, {202, 60, 80, 173}, {202, 60, 80, 178}}},
{Region: "Australia", Group: "Premium UDP Asia", IPs: []net.IP{{43, 242, 68, 83}, {43, 242, 68, 94}, {202, 60, 80, 11}, {202, 60, 80, 21}, {202, 60, 80, 69}, {202, 60, 80, 107}, {202, 60, 80, 122}, {202, 60, 80, 123}, {202, 60, 80, 132}, {202, 60, 80, 162}}},
{Region: "Austria", Group: "Premium TCP Europe", IPs: []net.IP{{89, 187, 168, 134}, {89, 187, 168, 139}, {89, 187, 168, 140}, {89, 187, 168, 145}, {89, 187, 168, 146}, {89, 187, 168, 150}, {89, 187, 168, 167}, {89, 187, 168, 169}, {89, 187, 168, 180}, {89, 187, 168, 182}}},
{Region: "Austria", Group: "Premium UDP Europe", IPs: []net.IP{{89, 187, 168, 131}, {89, 187, 168, 132}, {89, 187, 168, 144}, {89, 187, 168, 147}, {89, 187, 168, 150}, {89, 187, 168, 151}, {89, 187, 168, 152}, {89, 187, 168, 163}, {89, 187, 168, 175}, {89, 187, 168, 177}}},
{Region: "Bahamas", Group: "Premium TCP USA", IPs: []net.IP{{95, 181, 238, 131}, {95, 181, 238, 132}, {95, 181, 238, 137}, {95, 181, 238, 139}, {95, 181, 238, 140}, {95, 181, 238, 141}, {95, 181, 238, 144}, {95, 181, 238, 146}, {95, 181, 238, 147}, {95, 181, 238, 153}}},
{Region: "Bahamas", Group: "Premium UDP USA", IPs: []net.IP{{95, 181, 238, 131}, {95, 181, 238, 133}, {95, 181, 238, 137}, {95, 181, 238, 138}, {95, 181, 238, 140}, {95, 181, 238, 141}, {95, 181, 238, 142}, {95, 181, 238, 146}, {95, 181, 238, 152}, {95, 181, 238, 153}}},
{Region: "Bangladesh", Group: "Premium UDP Asia", IPs: []net.IP{{84, 252, 93, 131}, {84, 252, 93, 132}, {84, 252, 93, 133}, {84, 252, 93, 134}, {84, 252, 93, 137}, {84, 252, 93, 140}, {84, 252, 93, 142}, {84, 252, 93, 143}, {84, 252, 93, 144}, {84, 252, 93, 145}}},
{Region: "Bangladesh", Group: "Premium TCP Asia", IPs: []net.IP{{84, 252, 93, 131}, {84, 252, 93, 132}, {84, 252, 93, 135}, {84, 252, 93, 136}, {84, 252, 93, 139}, {84, 252, 93, 140}, {84, 252, 93, 141}, {84, 252, 93, 142}, {84, 252, 93, 144}, {84, 252, 93, 145}}},
{Region: "Belarus", Group: "Premium UDP Europe", IPs: []net.IP{{45, 132, 194, 5}, {45, 132, 194, 6}, {45, 132, 194, 10}, {45, 132, 194, 13}, {45, 132, 194, 14}, {45, 132, 194, 20}, {45, 132, 194, 22}, {45, 132, 194, 23}, {45, 132, 194, 38}, {45, 132, 194, 48}}},
{Region: "Belarus", Group: "Premium TCP Europe", IPs: []net.IP{{45, 132, 194, 3}, {45, 132, 194, 5}, {45, 132, 194, 7}, {45, 132, 194, 10}, {45, 132, 194, 15}, {45, 132, 194, 35}, {45, 132, 194, 37}, {45, 132, 194, 40}, {45, 132, 194, 43}, {45, 132, 194, 47}}},
{Region: "Belgium", Group: "Premium UDP Europe", IPs: []net.IP{{185, 210, 217, 14}, {185, 232, 21, 119}, {193, 9, 114, 211}, {193, 9, 114, 221}, {194, 110, 115, 201}, {194, 110, 115, 214}, {194, 110, 115, 216}, {194, 110, 115, 220}, {194, 110, 115, 221}, {194, 110, 115, 233}}},
{Region: "Belgium", Group: "Premium TCP Europe", IPs: []net.IP{{5, 253, 205, 27}, {37, 120, 143, 58}, {37, 120, 143, 59}, {37, 120, 143, 165}, {185, 210, 217, 60}, {185, 232, 21, 115}, {185, 232, 21, 118}, {193, 9, 114, 228}, {194, 110, 115, 215}, {194, 110, 115, 232}}},
{Region: "Albania", Group: "Premium TCP Europe", IPs: []net.IP{{31, 171, 152, 99}, {31, 171, 152, 102}, {31, 171, 152, 104}, {31, 171, 152, 106}, {31, 171, 152, 107}, {31, 171, 152, 108}, {31, 171, 152, 109}, {31, 171, 152, 133}, {31, 171, 152, 139}, {31, 171, 152, 140}}},
{Region: "Albania", Group: "Premium UDP Europe", IPs: []net.IP{{31, 171, 152, 102}, {31, 171, 152, 103}, {31, 171, 152, 105}, {31, 171, 152, 106}, {31, 171, 152, 107}, {31, 171, 152, 109}, {31, 171, 152, 133}, {31, 171, 152, 136}, {31, 171, 152, 138}, {31, 171, 152, 139}}},
{Region: "Algeria", Group: "Premium TCP Europe", IPs: []net.IP{{45, 133, 91, 9}, {45, 133, 91, 11}, {45, 133, 91, 12}, {45, 133, 91, 16}, {45, 133, 91, 18}, {45, 133, 91, 19}, {45, 133, 91, 21}, {45, 133, 91, 26}, {45, 133, 91, 27}, {45, 133, 91, 28}}},
{Region: "Algeria", Group: "Premium UDP Europe", IPs: []net.IP{{45, 133, 91, 7}, {45, 133, 91, 9}, {45, 133, 91, 12}, {45, 133, 91, 16}, {45, 133, 91, 19}, {45, 133, 91, 20}, {45, 133, 91, 25}, {45, 133, 91, 26}, {45, 133, 91, 27}, {45, 133, 91, 29}}},
{Region: "Andorra", Group: "Premium TCP Europe", IPs: []net.IP{{45, 139, 49, 7}, {45, 139, 49, 11}, {45, 139, 49, 27}, {45, 139, 49, 151}, {45, 139, 49, 154}, {45, 139, 49, 158}, {45, 139, 49, 161}, {45, 139, 49, 162}, {45, 139, 49, 165}, {45, 139, 49, 166}}},
{Region: "Andorra", Group: "Premium UDP Europe", IPs: []net.IP{{45, 139, 49, 7}, {45, 139, 49, 21}, {45, 139, 49, 28}, {45, 139, 49, 128}, {45, 139, 49, 136}, {45, 139, 49, 146}, {45, 139, 49, 156}, {45, 139, 49, 163}, {45, 139, 49, 165}, {45, 139, 49, 171}}},
{Region: "Argentina", Group: "Premium UDP USA", IPs: []net.IP{{190, 106, 130, 19}, {190, 106, 130, 20}, {190, 106, 130, 26}, {190, 106, 130, 34}, {190, 106, 130, 36}, {190, 106, 130, 37}, {190, 106, 130, 38}, {190, 106, 130, 40}, {190, 106, 130, 42}, {190, 106, 130, 43}}},
{Region: "Argentina", Group: "Premium TCP USA", IPs: []net.IP{{190, 106, 130, 17}, {190, 106, 130, 18}, {190, 106, 130, 20}, {190, 106, 130, 37}, {190, 106, 130, 38}, {190, 106, 130, 40}, {190, 106, 130, 41}, {190, 106, 130, 42}, {190, 106, 130, 43}, {190, 106, 130, 45}}},
{Region: "Armenia", Group: "Premium UDP Europe", IPs: []net.IP{{45, 139, 50, 7}, {45, 139, 50, 9}, {45, 139, 50, 11}, {45, 139, 50, 12}, {45, 139, 50, 17}, {45, 139, 50, 22}, {45, 139, 50, 25}, {45, 139, 50, 27}, {45, 139, 50, 28}, {45, 139, 50, 29}}},
{Region: "Armenia", Group: "Premium TCP Europe", IPs: []net.IP{{45, 139, 50, 6}, {45, 139, 50, 11}, {45, 139, 50, 16}, {45, 139, 50, 17}, {45, 139, 50, 18}, {45, 139, 50, 21}, {45, 139, 50, 22}, {45, 139, 50, 24}, {45, 139, 50, 25}, {45, 139, 50, 28}}},
{Region: "Australia", Group: "Premium UDP Asia", IPs: []net.IP{{27, 50, 79, 9}, {27, 50, 79, 22}, {27, 50, 79, 23}, {27, 50, 79, 30}, {203, 26, 199, 68}, {203, 26, 199, 73}, {221, 121, 146, 40}, {221, 121, 146, 41}, {221, 121, 146, 55}, {221, 121, 146, 58}}},
{Region: "Australia", Group: "Premium TCP Asia", IPs: []net.IP{{27, 50, 79, 19}, {43, 242, 68, 3}, {43, 242, 68, 8}, {43, 242, 68, 11}, {103, 13, 101, 173}, {203, 26, 199, 66}, {221, 121, 146, 34}, {221, 121, 146, 42}, {221, 121, 146, 50}, {221, 121, 146, 52}}},
{Region: "Austria", Group: "Premium TCP Europe", IPs: []net.IP{{89, 187, 168, 147}, {89, 187, 168, 148}, {89, 187, 168, 150}, {89, 187, 168, 162}, {89, 187, 168, 165}, {89, 187, 168, 166}, {89, 187, 168, 169}, {89, 187, 168, 172}, {89, 187, 168, 174}, {89, 187, 168, 183}}},
{Region: "Austria", Group: "Premium UDP Europe", IPs: []net.IP{{89, 187, 168, 132}, {89, 187, 168, 136}, {89, 187, 168, 138}, {89, 187, 168, 146}, {89, 187, 168, 148}, {89, 187, 168, 163}, {89, 187, 168, 171}, {89, 187, 168, 172}, {89, 187, 168, 179}, {89, 187, 168, 180}}},
{Region: "Bahamas", Group: "Premium TCP USA", IPs: []net.IP{{45, 132, 143, 2}, {45, 132, 143, 4}, {45, 132, 143, 6}, {45, 132, 143, 20}, {45, 132, 143, 22}, {45, 132, 143, 23}, {45, 132, 143, 36}, {45, 132, 143, 39}, {45, 132, 143, 46}, {45, 132, 143, 48}}},
{Region: "Bahamas", Group: "Premium UDP USA", IPs: []net.IP{{45, 132, 143, 1}, {45, 132, 143, 4}, {45, 132, 143, 5}, {45, 132, 143, 13}, {45, 132, 143, 15}, {45, 132, 143, 17}, {45, 132, 143, 36}, {45, 132, 143, 41}, {45, 132, 143, 42}, {45, 132, 143, 44}}},
{Region: "Bangladesh", Group: "Premium UDP Asia", IPs: []net.IP{{45, 132, 142, 1}, {45, 132, 142, 6}, {45, 132, 142, 10}, {45, 132, 142, 11}, {45, 132, 142, 15}, {45, 132, 142, 16}, {45, 132, 142, 19}, {45, 132, 142, 26}, {45, 132, 142, 36}, {45, 132, 142, 47}}},
{Region: "Bangladesh", Group: "Premium TCP Asia", IPs: []net.IP{{45, 132, 142, 3}, {45, 132, 142, 4}, {45, 132, 142, 8}, {45, 132, 142, 16}, {45, 132, 142, 21}, {45, 132, 142, 32}, {45, 132, 142, 36}, {45, 132, 142, 37}, {45, 132, 142, 43}, {45, 132, 142, 48}}},
{Region: "Belarus", Group: "Premium TCP Europe", IPs: []net.IP{{45, 132, 194, 7}, {45, 132, 194, 10}, {45, 132, 194, 20}, {45, 132, 194, 22}, {45, 132, 194, 27}, {45, 132, 194, 30}, {45, 132, 194, 38}, {45, 132, 194, 43}, {45, 132, 194, 45}, {45, 132, 194, 50}}},
{Region: "Belarus", Group: "Premium UDP Europe", IPs: []net.IP{{45, 132, 194, 9}, {45, 132, 194, 14}, {45, 132, 194, 20}, {45, 132, 194, 24}, {45, 132, 194, 29}, {45, 132, 194, 32}, {45, 132, 194, 37}, {45, 132, 194, 45}, {45, 132, 194, 46}, {45, 132, 194, 48}}},
{Region: "Belgium", Group: "Premium UDP Europe", IPs: []net.IP{{5, 253, 205, 20}, {5, 253, 205, 25}, {5, 253, 205, 29}, {37, 120, 143, 168}, {185, 210, 217, 58}, {185, 232, 21, 122}, {185, 232, 21, 124}, {193, 9, 114, 211}, {193, 9, 114, 213}, {193, 9, 114, 216}}},
{Region: "Belgium", Group: "Premium TCP Europe", IPs: []net.IP{{5, 253, 205, 23}, {5, 253, 205, 27}, {37, 120, 143, 54}, {37, 120, 143, 60}, {37, 120, 143, 166}, {37, 120, 143, 173}, {185, 210, 217, 51}, {185, 210, 217, 252}, {185, 210, 217, 254}, {193, 9, 114, 227}}},
{Region: "Bosnia and Herzegovina", Group: "Premium UDP Europe", IPs: []net.IP{{185, 99, 3, 57}, {185, 99, 3, 58}, {185, 99, 3, 72}, {185, 99, 3, 73}, {185, 99, 3, 74}, {185, 99, 3, 130}, {185, 99, 3, 131}, {185, 99, 3, 134}, {185, 99, 3, 135}, {185, 99, 3, 136}}},
{Region: "Bosnia and Herzegovina", Group: "Premium TCP Europe", IPs: []net.IP{{185, 99, 3, 57}, {185, 99, 3, 58}, {185, 99, 3, 72}, {185, 99, 3, 73}, {185, 99, 3, 74}, {185, 99, 3, 130}, {185, 99, 3, 131}, {185, 99, 3, 134}, {185, 99, 3, 135}, {185, 99, 3, 136}}},
{Region: "Brazil", Group: "Premium UDP USA", IPs: []net.IP{{188, 241, 177, 8}, {188, 241, 177, 10}, {188, 241, 177, 12}, {188, 241, 177, 13}, {188, 241, 177, 14}, {188, 241, 177, 30}, {188, 241, 177, 36}, {188, 241, 177, 42}, {188, 241, 177, 45}, {188, 241, 177, 46}}},
{Region: "Brazil", Group: "Premium TCP USA", IPs: []net.IP{{188, 241, 177, 9}, {188, 241, 177, 12}, {188, 241, 177, 13}, {188, 241, 177, 19}, {188, 241, 177, 29}, {188, 241, 177, 35}, {188, 241, 177, 40}, {188, 241, 177, 41}, {188, 241, 177, 43}, {188, 241, 177, 44}}},
{Region: "Bulgaria", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 152, 100}, {37, 120, 152, 101}, {37, 120, 152, 102}, {37, 120, 152, 103}, {37, 120, 152, 104}, {37, 120, 152, 105}, {37, 120, 152, 106}, {37, 120, 152, 108}, {37, 120, 152, 109}, {37, 120, 152, 110}}},
{Region: "Bulgaria", Group: "Premium TCP Europe", IPs: []net.IP{{37, 120, 152, 99}, {37, 120, 152, 100}, {37, 120, 152, 101}, {37, 120, 152, 102}, {37, 120, 152, 104}, {37, 120, 152, 105}, {37, 120, 152, 106}, {37, 120, 152, 107}, {37, 120, 152, 108}, {37, 120, 152, 109}}},
{Region: "Cambodia", Group: "Premium TCP Asia", IPs: []net.IP{{188, 215, 235, 37}, {188, 215, 235, 41}, {188, 215, 235, 45}, {188, 215, 235, 46}, {188, 215, 235, 47}, {188, 215, 235, 49}, {188, 215, 235, 52}, {188, 215, 235, 53}, {188, 215, 235, 54}, {188, 215, 235, 57}}},
{Region: "Cambodia", Group: "Premium UDP Asia", IPs: []net.IP{{188, 215, 235, 36}, {188, 215, 235, 37}, {188, 215, 235, 40}, {188, 215, 235, 41}, {188, 215, 235, 45}, {188, 215, 235, 47}, {188, 215, 235, 50}, {188, 215, 235, 51}, {188, 215, 235, 56}, {188, 215, 235, 57}}},
{Region: "Canada", Group: "Premium TCP USA", IPs: []net.IP{{37, 120, 205, 4}, {37, 120, 205, 26}, {66, 115, 142, 171}, {89, 47, 234, 103}, {176, 113, 74, 22}, {176, 113, 74, 77}, {176, 113, 74, 135}, {176, 113, 74, 137}, {176, 113, 74, 201}, {176, 113, 74, 205}}},
{Region: "Canada", Group: "Premium UDP USA", IPs: []net.IP{{37, 120, 205, 24}, {66, 115, 142, 162}, {66, 115, 142, 172}, {89, 47, 234, 85}, {89, 47, 234, 118}, {172, 98, 89, 146}, {172, 98, 89, 159}, {172, 98, 89, 172}, {176, 113, 74, 156}, {176, 113, 74, 206}}},
{Region: "China", Group: "Premium TCP Asia", IPs: []net.IP{{188, 241, 80, 131}, {188, 241, 80, 132}, {188, 241, 80, 133}, {188, 241, 80, 134}, {188, 241, 80, 136}, {188, 241, 80, 137}, {188, 241, 80, 139}, {188, 241, 80, 140}, {188, 241, 80, 141}, {188, 241, 80, 142}}},
{Region: "China", Group: "Premium UDP Asia", IPs: []net.IP{{188, 241, 80, 132}, {188, 241, 80, 133}, {188, 241, 80, 134}, {188, 241, 80, 135}, {188, 241, 80, 136}, {188, 241, 80, 137}, {188, 241, 80, 138}, {188, 241, 80, 139}, {188, 241, 80, 140}, {188, 241, 80, 141}}},
{Region: "Costa Rica", Group: "Premium TCP USA", IPs: []net.IP{{143, 202, 160, 67}, {143, 202, 160, 68}, {143, 202, 160, 69}, {143, 202, 160, 70}, {143, 202, 160, 72}, {143, 202, 160, 73}, {143, 202, 160, 74}, {143, 202, 160, 75}, {143, 202, 160, 76}, {143, 202, 160, 78}}},
{Region: "Cyprus", Group: "Premium UDP Europe", IPs: []net.IP{{185, 253, 162, 131}, {185, 253, 162, 134}, {185, 253, 162, 136}, {185, 253, 162, 137}, {185, 253, 162, 139}, {185, 253, 162, 140}, {185, 253, 162, 141}, {185, 253, 162, 142}, {185, 253, 162, 143}, {185, 253, 162, 144}}},
{Region: "Cyprus", Group: "Premium TCP Europe", IPs: []net.IP{{185, 253, 162, 131}, {185, 253, 162, 132}, {185, 253, 162, 134}, {185, 253, 162, 135}, {185, 253, 162, 136}, {185, 253, 162, 139}, {185, 253, 162, 140}, {185, 253, 162, 141}, {185, 253, 162, 143}, {185, 253, 162, 144}}},
{Region: "Czech Republic", Group: "Premium TCP Europe", IPs: []net.IP{{185, 216, 35, 231}, {185, 216, 35, 236}, {195, 181, 161, 3}, {195, 181, 161, 7}, {195, 181, 161, 11}, {195, 181, 161, 14}, {195, 181, 161, 15}, {195, 181, 161, 16}, {195, 181, 161, 17}, {195, 181, 161, 22}}},
{Region: "Czech Republic", Group: "Premium UDP Europe", IPs: []net.IP{{185, 216, 35, 227}, {185, 216, 35, 235}, {195, 181, 161, 3}, {195, 181, 161, 5}, {195, 181, 161, 7}, {195, 181, 161, 11}, {195, 181, 161, 12}, {195, 181, 161, 14}, {195, 181, 161, 15}, {195, 181, 161, 20}}},
{Region: "Denmark", Group: "Premium TCP Europe", IPs: []net.IP{{37, 120, 145, 86}, {37, 120, 194, 45}, {37, 120, 194, 46}, {37, 120, 194, 61}, {95, 174, 65, 172}, {95, 174, 65, 174}, {185, 206, 224, 237}, {185, 206, 224, 244}, {185, 206, 224, 245}, {185, 206, 224, 246}}},
{Region: "Denmark", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 194, 56}, {37, 120, 194, 61}, {95, 174, 65, 164}, {95, 174, 65, 165}, {95, 174, 65, 167}, {95, 174, 65, 172}, {185, 206, 224, 235}, {185, 206, 224, 244}, {185, 206, 224, 247}, {185, 206, 224, 249}}},
{Region: "Egypt", Group: "Premium TCP Europe", IPs: []net.IP{{188, 214, 122, 37}, {188, 214, 122, 39}, {188, 214, 122, 40}, {188, 214, 122, 51}, {188, 214, 122, 53}, {188, 214, 122, 54}, {188, 214, 122, 56}, {188, 214, 122, 58}, {188, 214, 122, 59}, {188, 214, 122, 62}}},
{Region: "Egypt", Group: "Premium UDP Europe", IPs: []net.IP{{188, 214, 122, 35}, {188, 214, 122, 38}, {188, 214, 122, 39}, {188, 214, 122, 44}, {188, 214, 122, 46}, {188, 214, 122, 48}, {188, 214, 122, 50}, {188, 214, 122, 52}, {188, 214, 122, 54}, {188, 214, 122, 58}}},
{Region: "Estonia", Group: "Premium TCP Europe", IPs: []net.IP{{95, 153, 31, 82}, {95, 153, 31, 83}, {95, 153, 31, 84}, {95, 153, 31, 85}, {95, 153, 31, 86}, {95, 153, 31, 87}, {95, 153, 31, 89}, {95, 153, 31, 90}, {95, 153, 31, 92}, {95, 153, 31, 93}}},
{Region: "Estonia", Group: "Premium UDP Europe", IPs: []net.IP{{95, 153, 31, 83}, {95, 153, 31, 84}, {95, 153, 31, 85}, {95, 153, 31, 86}, {95, 153, 31, 87}, {95, 153, 31, 88}, {95, 153, 31, 90}, {95, 153, 31, 92}, {95, 153, 31, 93}, {95, 153, 31, 94}}},
{Region: "Finland", Group: "Premium UDP Europe", IPs: []net.IP{{188, 126, 89, 133}, {188, 126, 89, 134}, {188, 126, 89, 137}, {188, 126, 89, 138}, {188, 126, 89, 143}, {188, 126, 89, 144}, {188, 126, 89, 149}, {188, 126, 89, 150}, {188, 126, 89, 152}, {188, 126, 89, 154}}},
{Region: "Finland", Group: "Premium TCP Europe", IPs: []net.IP{{188, 126, 89, 131}, {188, 126, 89, 132}, {188, 126, 89, 133}, {188, 126, 89, 137}, {188, 126, 89, 138}, {188, 126, 89, 142}, {188, 126, 89, 145}, {188, 126, 89, 153}, {188, 126, 89, 154}, {188, 126, 89, 155}}},
{Region: "France", Group: "Premium UDP Europe", IPs: []net.IP{{84, 17, 60, 31}, {84, 17, 60, 93}, {84, 17, 60, 136}, {84, 17, 60, 173}, {84, 17, 60, 177}, {84, 17, 60, 184}, {84, 17, 61, 10}, {84, 17, 61, 92}, {84, 17, 61, 155}, {138, 199, 26, 174}}},
{Region: "France", Group: "Premium TCP Europe", IPs: []net.IP{{84, 17, 60, 40}, {84, 17, 60, 85}, {84, 17, 60, 98}, {84, 17, 60, 150}, {84, 17, 60, 178}, {84, 17, 61, 5}, {84, 17, 61, 212}, {138, 199, 26, 76}, {138, 199, 26, 147}, {138, 199, 26, 219}}},
{Region: "Georgia", Group: "Premium TCP Europe", IPs: []net.IP{{95, 181, 236, 131}, {95, 181, 236, 132}, {95, 181, 236, 133}, {95, 181, 236, 135}, {95, 181, 236, 137}, {95, 181, 236, 138}, {95, 181, 236, 139}, {95, 181, 236, 140}, {95, 181, 236, 142}, {95, 181, 236, 144}}},
{Region: "Georgia", Group: "Premium UDP Europe", IPs: []net.IP{{95, 181, 236, 131}, {95, 181, 236, 132}, {95, 181, 236, 133}, {95, 181, 236, 134}, {95, 181, 236, 138}, {95, 181, 236, 139}, {95, 181, 236, 140}, {95, 181, 236, 141}, {95, 181, 236, 143}, {95, 181, 236, 144}}},
{Region: "Germany", Group: "Premium TCP Europe", IPs: []net.IP{{37, 120, 217, 30}, {37, 120, 217, 61}, {84, 17, 48, 13}, {84, 17, 48, 18}, {84, 17, 48, 22}, {84, 17, 48, 81}, {84, 17, 48, 185}, {84, 17, 49, 242}, {154, 28, 188, 128}, {154, 28, 188, 167}}},
{Region: "Germany", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 217, 38}, {84, 17, 48, 55}, {84, 17, 48, 140}, {84, 17, 48, 188}, {84, 17, 48, 192}, {84, 17, 48, 205}, {84, 17, 49, 128}, {84, 17, 49, 191}, {84, 17, 49, 236}, {154, 28, 188, 82}}},
{Region: "Greece", Group: "Premium UDP Europe", IPs: []net.IP{{154, 57, 3, 131}, {154, 57, 3, 133}, {154, 57, 3, 136}, {154, 57, 3, 137}, {154, 57, 3, 140}, {154, 57, 3, 141}, {188, 123, 126, 167}, {188, 123, 126, 171}, {188, 123, 126, 175}, {188, 123, 126, 176}}},
{Region: "Greece", Group: "Premium TCP Europe", IPs: []net.IP{{154, 57, 3, 131}, {154, 57, 3, 133}, {154, 57, 3, 134}, {154, 57, 3, 137}, {154, 57, 3, 139}, {188, 123, 126, 170}, {188, 123, 126, 172}, {188, 123, 126, 173}, {188, 123, 126, 175}, {188, 123, 126, 177}}},
{Region: "Greenland", Group: "Premium UDP Europe", IPs: []net.IP{{91, 90, 120, 3}, {91, 90, 120, 5}, {91, 90, 120, 6}, {91, 90, 120, 7}, {91, 90, 120, 8}, {91, 90, 120, 9}, {91, 90, 120, 10}, {91, 90, 120, 14}, {91, 90, 120, 15}, {91, 90, 120, 17}}},
{Region: "Greenland", Group: "Premium TCP Europe", IPs: []net.IP{{91, 90, 120, 3}, {91, 90, 120, 4}, {91, 90, 120, 5}, {91, 90, 120, 6}, {91, 90, 120, 9}, {91, 90, 120, 10}, {91, 90, 120, 11}, {91, 90, 120, 13}, {91, 90, 120, 14}, {91, 90, 120, 17}}},
{Region: "Hong Kong", Group: "Premium TCP Asia", IPs: []net.IP{{84, 17, 56, 34}, {84, 17, 56, 41}, {84, 17, 56, 133}, {84, 17, 56, 147}, {84, 17, 56, 148}, {84, 17, 56, 153}, {84, 17, 56, 163}, {84, 17, 56, 167}, {84, 17, 56, 171}, {84, 17, 56, 184}}},
{Region: "Hong Kong", Group: "Premium UDP Asia", IPs: []net.IP{{84, 17, 56, 39}, {84, 17, 56, 52}, {84, 17, 56, 55}, {84, 17, 56, 135}, {84, 17, 56, 136}, {84, 17, 56, 145}, {84, 17, 56, 149}, {84, 17, 56, 165}, {84, 17, 56, 167}, {84, 17, 56, 170}}},
{Region: "Hungary", Group: "Premium TCP Europe", IPs: []net.IP{{86, 106, 74, 243}, {86, 106, 74, 244}, {86, 106, 74, 247}, {86, 106, 74, 251}, {86, 106, 74, 252}, {86, 106, 74, 253}, {185, 189, 114, 117}, {185, 189, 114, 119}, {185, 189, 114, 124}, {185, 189, 114, 126}}},
{Region: "Hungary", Group: "Premium UDP Europe", IPs: []net.IP{{86, 106, 74, 252}, {86, 106, 74, 253}, {86, 106, 74, 254}, {185, 189, 114, 116}, {185, 189, 114, 117}, {185, 189, 114, 118}, {185, 189, 114, 121}, {185, 189, 114, 123}, {185, 189, 114, 125}, {185, 189, 114, 126}}},
{Region: "Iceland", Group: "Premium UDP Europe", IPs: []net.IP{{45, 133, 193, 4}, {45, 133, 193, 5}, {45, 133, 193, 6}, {45, 133, 193, 8}, {45, 133, 193, 9}, {45, 133, 193, 10}, {45, 133, 193, 11}, {45, 133, 193, 12}, {45, 133, 193, 13}, {45, 133, 193, 14}}},
{Region: "Iceland", Group: "Premium TCP Europe", IPs: []net.IP{{45, 133, 193, 3}, {45, 133, 193, 4}, {45, 133, 193, 5}, {45, 133, 193, 6}, {45, 133, 193, 7}, {45, 133, 193, 8}, {45, 133, 193, 9}, {45, 133, 193, 10}, {45, 133, 193, 11}, {45, 133, 193, 13}}},
{Region: "India", Group: "Premium TCP Europe", IPs: []net.IP{{43, 241, 71, 117}, {43, 241, 71, 118}, {43, 241, 71, 122}, {43, 241, 71, 123}, {43, 241, 71, 125}, {43, 241, 71, 148}, {43, 241, 71, 151}, {43, 241, 71, 152}, {43, 241, 71, 154}, {43, 241, 71, 156}}},
{Region: "India", Group: "Premium UDP Europe", IPs: []net.IP{{43, 241, 71, 115}, {43, 241, 71, 119}, {43, 241, 71, 123}, {43, 241, 71, 124}, {43, 241, 71, 148}, {43, 241, 71, 149}, {43, 241, 71, 151}, {43, 241, 71, 153}, {43, 241, 71, 155}, {43, 241, 71, 157}}},
{Region: "Indonesia", Group: "Premium TCP Asia", IPs: []net.IP{{113, 20, 29, 243}, {113, 20, 29, 244}, {113, 20, 29, 245}, {113, 20, 29, 246}, {113, 20, 29, 247}, {113, 20, 29, 249}, {113, 20, 29, 250}, {113, 20, 29, 252}, {113, 20, 29, 253}, {113, 20, 29, 254}}},
{Region: "Indonesia", Group: "Premium UDP Asia", IPs: []net.IP{{113, 20, 29, 243}, {113, 20, 29, 244}, {113, 20, 29, 245}, {113, 20, 29, 246}, {113, 20, 29, 247}, {113, 20, 29, 248}, {113, 20, 29, 249}, {113, 20, 29, 250}, {113, 20, 29, 251}, {113, 20, 29, 253}}},
{Region: "Iran", Group: "Premium UDP Asia", IPs: []net.IP{{62, 133, 46, 3}, {62, 133, 46, 5}, {62, 133, 46, 7}, {62, 133, 46, 8}, {62, 133, 46, 9}, {62, 133, 46, 11}, {62, 133, 46, 12}, {62, 133, 46, 13}, {62, 133, 46, 14}, {62, 133, 46, 15}}},
{Region: "Iran", Group: "Premium TCP Asia", IPs: []net.IP{{62, 133, 46, 3}, {62, 133, 46, 6}, {62, 133, 46, 7}, {62, 133, 46, 8}, {62, 133, 46, 9}, {62, 133, 46, 10}, {62, 133, 46, 11}, {62, 133, 46, 12}, {62, 133, 46, 14}, {62, 133, 46, 15}}},
{Region: "Ireland", Group: "Premium UDP Europe", IPs: []net.IP{{77, 81, 139, 35}, {77, 81, 139, 40}, {77, 81, 139, 41}, {77, 81, 139, 45}, {84, 247, 48, 3}, {84, 247, 48, 8}, {84, 247, 48, 10}, {84, 247, 48, 19}, {84, 247, 48, 21}, {84, 247, 48, 29}}},
{Region: "Ireland", Group: "Premium TCP Europe", IPs: []net.IP{{77, 81, 139, 40}, {84, 247, 48, 3}, {84, 247, 48, 4}, {84, 247, 48, 7}, {84, 247, 48, 10}, {84, 247, 48, 20}, {84, 247, 48, 23}, {84, 247, 48, 24}, {84, 247, 48, 26}, {84, 247, 48, 30}}},
{Region: "Isle of Man", Group: "Premium TCP Europe", IPs: []net.IP{{91, 90, 124, 147}, {91, 90, 124, 148}, {91, 90, 124, 149}, {91, 90, 124, 152}, {91, 90, 124, 153}, {91, 90, 124, 155}, {91, 90, 124, 156}, {91, 90, 124, 157}, {91, 90, 124, 158}, {91, 90, 124, 159}}},
{Region: "Isle of Man", Group: "Premium UDP Europe", IPs: []net.IP{{91, 90, 124, 148}, {91, 90, 124, 149}, {91, 90, 124, 150}, {91, 90, 124, 152}, {91, 90, 124, 153}, {91, 90, 124, 154}, {91, 90, 124, 155}, {91, 90, 124, 157}, {91, 90, 124, 158}, {91, 90, 124, 159}}},
{Region: "Israel", Group: "Premium TCP Europe", IPs: []net.IP{{160, 116, 0, 163}, {160, 116, 0, 164}, {160, 116, 0, 165}, {160, 116, 0, 166}, {160, 116, 0, 168}, {160, 116, 0, 169}, {160, 116, 0, 170}, {160, 116, 0, 171}, {160, 116, 0, 172}, {160, 116, 0, 174}}},
{Region: "Israel", Group: "Premium UDP Europe", IPs: []net.IP{{160, 116, 0, 163}, {160, 116, 0, 164}, {160, 116, 0, 165}, {160, 116, 0, 166}, {160, 116, 0, 167}, {160, 116, 0, 168}, {160, 116, 0, 169}, {160, 116, 0, 170}, {160, 116, 0, 171}, {160, 116, 0, 172}}},
{Region: "Italy", Group: "Premium UDP Europe", IPs: []net.IP{{84, 17, 58, 21}, {84, 17, 58, 94}, {87, 101, 94, 68}, {185, 217, 71, 132}, {185, 217, 71, 135}, {185, 217, 71, 154}, {212, 102, 55, 97}, {212, 102, 55, 111}, {212, 102, 55, 113}, {212, 102, 55, 118}}},
{Region: "Italy", Group: "Premium TCP Europe", IPs: []net.IP{{84, 17, 58, 13}, {84, 17, 58, 22}, {84, 17, 58, 23}, {84, 17, 58, 110}, {185, 217, 71, 134}, {185, 217, 71, 155}, {212, 102, 55, 97}, {212, 102, 55, 104}, {212, 102, 55, 114}, {212, 102, 55, 118}}},
{Region: "Japan", Group: "Premium UDP Asia", IPs: []net.IP{{156, 146, 35, 7}, {156, 146, 35, 8}, {156, 146, 35, 10}, {156, 146, 35, 12}, {156, 146, 35, 13}, {156, 146, 35, 14}, {156, 146, 35, 15}, {156, 146, 35, 16}, {156, 146, 35, 22}, {156, 146, 35, 49}}},
{Region: "Japan", Group: "Premium TCP Asia", IPs: []net.IP{{156, 146, 35, 4}, {156, 146, 35, 6}, {156, 146, 35, 9}, {156, 146, 35, 12}, {156, 146, 35, 16}, {156, 146, 35, 21}, {156, 146, 35, 22}, {156, 146, 35, 28}, {156, 146, 35, 29}, {156, 146, 35, 49}}},
{Region: "Kazakhstan", Group: "Premium UDP Europe", IPs: []net.IP{{62, 133, 47, 131}, {62, 133, 47, 132}, {62, 133, 47, 133}, {62, 133, 47, 134}, {62, 133, 47, 135}, {62, 133, 47, 137}, {62, 133, 47, 139}, {62, 133, 47, 140}, {62, 133, 47, 143}, {62, 133, 47, 144}}},
{Region: "Kazakhstan", Group: "Premium TCP Europe", IPs: []net.IP{{62, 133, 47, 132}, {62, 133, 47, 133}, {62, 133, 47, 135}, {62, 133, 47, 137}, {62, 133, 47, 138}, {62, 133, 47, 140}, {62, 133, 47, 141}, {62, 133, 47, 142}, {62, 133, 47, 143}, {62, 133, 47, 144}}},
{Region: "Brazil", Group: "Premium UDP USA", IPs: []net.IP{{45, 231, 207, 71}, {45, 231, 207, 76}, {45, 231, 207, 77}, {177, 67, 81, 165}, {177, 67, 81, 172}, {181, 41, 203, 97}, {181, 41, 203, 99}, {181, 41, 203, 101}, {181, 41, 203, 106}, {181, 41, 203, 109}}},
{Region: "Brazil", Group: "Premium TCP USA", IPs: []net.IP{{45, 231, 207, 72}, {45, 231, 207, 74}, {45, 231, 207, 79}, {177, 67, 81, 166}, {177, 67, 81, 169}, {177, 67, 81, 171}, {181, 41, 203, 99}, {181, 41, 203, 106}, {181, 41, 203, 108}, {181, 41, 203, 110}}},
{Region: "Bulgaria", Group: "Premium TCP Europe", IPs: []net.IP{{37, 120, 152, 100}, {37, 120, 152, 102}, {37, 120, 152, 103}, {37, 120, 152, 104}, {37, 120, 152, 105}, {37, 120, 152, 106}, {37, 120, 152, 107}, {37, 120, 152, 108}, {37, 120, 152, 109}, {37, 120, 152, 110}}},
{Region: "Bulgaria", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 152, 99}, {37, 120, 152, 100}, {37, 120, 152, 101}, {37, 120, 152, 103}, {37, 120, 152, 104}, {37, 120, 152, 105}, {37, 120, 152, 107}, {37, 120, 152, 108}, {37, 120, 152, 109}, {37, 120, 152, 110}}},
{Region: "Cambodia", Group: "Premium UDP Asia", IPs: []net.IP{{188, 215, 235, 35}, {188, 215, 235, 36}, {188, 215, 235, 37}, {188, 215, 235, 45}, {188, 215, 235, 47}, {188, 215, 235, 48}, {188, 215, 235, 49}, {188, 215, 235, 53}, {188, 215, 235, 55}, {188, 215, 235, 56}}},
{Region: "Cambodia", Group: "Premium TCP Asia", IPs: []net.IP{{188, 215, 235, 36}, {188, 215, 235, 37}, {188, 215, 235, 38}, {188, 215, 235, 40}, {188, 215, 235, 41}, {188, 215, 235, 43}, {188, 215, 235, 47}, {188, 215, 235, 49}, {188, 215, 235, 55}, {188, 215, 235, 56}}},
{Region: "Canada", Group: "Premium UDP USA", IPs: []net.IP{{37, 120, 130, 145}, {37, 120, 130, 180}, {37, 120, 130, 203}, {37, 120, 205, 27}, {37, 120, 205, 30}, {89, 47, 234, 117}, {139, 28, 218, 94}, {176, 113, 74, 199}, {176, 113, 74, 205}, {176, 113, 74, 212}}},
{Region: "Canada", Group: "Premium TCP USA", IPs: []net.IP{{37, 120, 130, 173}, {37, 120, 130, 203}, {37, 120, 130, 210}, {37, 120, 205, 8}, {89, 47, 234, 88}, {104, 245, 145, 169}, {139, 28, 218, 88}, {176, 113, 74, 70}, {176, 113, 74, 89}, {176, 113, 74, 195}}},
{Region: "Chile", Group: "Premium UDP USA", IPs: []net.IP{{190, 105, 239, 129}, {190, 105, 239, 130}, {190, 105, 239, 131}, {190, 105, 239, 132}, {190, 105, 239, 133}, {190, 105, 239, 134}, {190, 105, 239, 135}, {190, 105, 239, 136}, {190, 105, 239, 137}, {190, 105, 239, 138}}},
{Region: "Chile", Group: "Premium TCP USA", IPs: []net.IP{{190, 105, 239, 129}, {190, 105, 239, 130}, {190, 105, 239, 131}, {190, 105, 239, 132}, {190, 105, 239, 133}, {190, 105, 239, 134}, {190, 105, 239, 135}, {190, 105, 239, 136}, {190, 105, 239, 137}, {190, 105, 239, 138}}},
{Region: "China", Group: "Premium TCP Asia", IPs: []net.IP{{45, 132, 193, 2}, {45, 132, 193, 3}, {45, 132, 193, 7}, {45, 132, 193, 10}, {45, 132, 193, 13}, {45, 132, 193, 15}, {45, 132, 193, 20}, {45, 132, 193, 31}, {45, 132, 193, 41}, {45, 132, 193, 47}}},
{Region: "China", Group: "Premium UDP Asia", IPs: []net.IP{{45, 132, 193, 7}, {45, 132, 193, 14}, {45, 132, 193, 23}, {45, 132, 193, 26}, {45, 132, 193, 30}, {45, 132, 193, 36}, {45, 132, 193, 44}, {45, 132, 193, 45}, {45, 132, 193, 46}, {45, 132, 193, 48}}},
{Region: "Colombia", Group: "Premium TCP USA", IPs: []net.IP{{190, 105, 229, 19}, {190, 105, 229, 20}, {190, 105, 229, 21}, {190, 105, 229, 22}}},
{Region: "Colombia", Group: "Premium UDP USA", IPs: []net.IP{{190, 105, 229, 19}, {190, 105, 229, 20}, {190, 105, 229, 21}, {190, 105, 229, 22}}},
{Region: "Costa Rica", Group: "Premium TCP USA", IPs: []net.IP{{143, 202, 160, 67}, {143, 202, 160, 68}, {143, 202, 160, 70}, {143, 202, 160, 71}, {143, 202, 160, 72}, {143, 202, 160, 73}, {143, 202, 160, 74}, {143, 202, 160, 75}, {143, 202, 160, 77}, {143, 202, 160, 78}}},
{Region: "Costa Rica", Group: "Premium UDP USA", IPs: []net.IP{{143, 202, 160, 67}, {143, 202, 160, 68}, {143, 202, 160, 69}, {143, 202, 160, 70}, {143, 202, 160, 71}, {143, 202, 160, 72}, {143, 202, 160, 73}, {143, 202, 160, 74}, {143, 202, 160, 75}, {143, 202, 160, 76}}},
{Region: "Cyprus", Group: "Premium TCP Europe", IPs: []net.IP{{45, 132, 137, 7}, {45, 132, 137, 9}, {45, 132, 137, 11}, {45, 132, 137, 13}, {45, 132, 137, 20}, {45, 132, 137, 23}, {45, 132, 137, 26}, {45, 132, 137, 27}, {45, 132, 137, 28}, {45, 132, 137, 29}}},
{Region: "Cyprus", Group: "Premium UDP Europe", IPs: []net.IP{{45, 132, 137, 7}, {45, 132, 137, 10}, {45, 132, 137, 14}, {45, 132, 137, 15}, {45, 132, 137, 17}, {45, 132, 137, 18}, {45, 132, 137, 21}, {45, 132, 137, 24}, {45, 132, 137, 27}, {45, 132, 137, 29}}},
{Region: "Czech Republic", Group: "Premium UDP Europe", IPs: []net.IP{{185, 216, 35, 227}, {185, 216, 35, 232}, {185, 216, 35, 236}, {195, 181, 161, 5}, {195, 181, 161, 6}, {195, 181, 161, 7}, {195, 181, 161, 10}, {195, 181, 161, 12}, {195, 181, 161, 15}, {195, 181, 161, 19}}},
{Region: "Czech Republic", Group: "Premium TCP Europe", IPs: []net.IP{{185, 216, 35, 230}, {185, 216, 35, 232}, {185, 216, 35, 236}, {195, 181, 161, 4}, {195, 181, 161, 8}, {195, 181, 161, 15}, {195, 181, 161, 18}, {195, 181, 161, 20}, {195, 181, 161, 24}, {195, 181, 161, 25}}},
{Region: "Denmark", Group: "Premium TCP Europe", IPs: []net.IP{{37, 120, 145, 85}, {37, 120, 145, 90}, {37, 120, 194, 37}, {37, 120, 194, 41}, {95, 174, 65, 164}, {95, 174, 65, 174}, {185, 206, 224, 231}, {185, 206, 224, 235}, {185, 206, 224, 236}, {185, 206, 224, 238}}},
{Region: "Denmark", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 145, 86}, {37, 120, 145, 88}, {37, 120, 194, 40}, {37, 120, 194, 42}, {37, 120, 194, 60}, {37, 120, 194, 62}, {95, 174, 65, 170}, {185, 206, 224, 231}, {185, 206, 224, 248}, {185, 206, 224, 250}}},
{Region: "Egypt", Group: "Premium TCP Europe", IPs: []net.IP{{188, 214, 122, 40}, {188, 214, 122, 44}, {188, 214, 122, 46}, {188, 214, 122, 47}, {188, 214, 122, 48}, {188, 214, 122, 51}, {188, 214, 122, 52}, {188, 214, 122, 56}, {188, 214, 122, 59}, {188, 214, 122, 60}}},
{Region: "Egypt", Group: "Premium UDP Europe", IPs: []net.IP{{188, 214, 122, 40}, {188, 214, 122, 41}, {188, 214, 122, 43}, {188, 214, 122, 46}, {188, 214, 122, 48}, {188, 214, 122, 51}, {188, 214, 122, 52}, {188, 214, 122, 55}, {188, 214, 122, 57}, {188, 214, 122, 60}}},
{Region: "Estonia", Group: "Premium UDP Europe", IPs: []net.IP{{77, 247, 111, 3}, {77, 247, 111, 4}, {77, 247, 111, 6}, {77, 247, 111, 9}, {77, 247, 111, 11}, {77, 247, 111, 51}, {77, 247, 111, 53}, {77, 247, 111, 57}, {77, 247, 111, 58}, {77, 247, 111, 62}}},
{Region: "Estonia", Group: "Premium TCP Europe", IPs: []net.IP{{77, 247, 111, 4}, {77, 247, 111, 7}, {77, 247, 111, 9}, {77, 247, 111, 10}, {77, 247, 111, 11}, {77, 247, 111, 52}, {77, 247, 111, 53}, {77, 247, 111, 55}, {77, 247, 111, 56}, {77, 247, 111, 57}}},
{Region: "Finland", Group: "Premium UDP Europe", IPs: []net.IP{{188, 126, 89, 102}, {188, 126, 89, 103}, {188, 126, 89, 104}, {188, 126, 89, 105}, {188, 126, 89, 112}, {188, 126, 89, 116}, {188, 126, 89, 124}, {188, 126, 89, 131}, {188, 126, 89, 137}, {188, 126, 89, 138}}},
{Region: "Finland", Group: "Premium TCP Europe", IPs: []net.IP{{188, 126, 89, 99}, {188, 126, 89, 106}, {188, 126, 89, 113}, {188, 126, 89, 121}, {188, 126, 89, 125}, {188, 126, 89, 131}, {188, 126, 89, 132}, {188, 126, 89, 142}, {188, 126, 89, 146}, {188, 126, 89, 155}}},
{Region: "France", Group: "Premium UDP Europe", IPs: []net.IP{{84, 17, 60, 9}, {84, 17, 60, 23}, {84, 17, 60, 28}, {84, 17, 60, 95}, {84, 17, 61, 110}, {84, 17, 61, 162}, {84, 17, 61, 171}, {84, 17, 61, 187}, {151, 106, 12, 248}, {194, 59, 249, 150}}},
{Region: "France", Group: "Premium TCP Europe", IPs: []net.IP{{84, 17, 60, 53}, {84, 17, 60, 59}, {84, 17, 60, 99}, {84, 17, 60, 150}, {84, 17, 61, 53}, {84, 17, 61, 104}, {84, 17, 61, 158}, {84, 17, 61, 203}, {151, 106, 8, 45}, {151, 106, 12, 243}}},
{Region: "Georgia", Group: "Premium UDP Europe", IPs: []net.IP{{45, 132, 138, 7}, {45, 132, 138, 11}, {45, 132, 138, 12}, {45, 132, 138, 13}, {45, 132, 138, 16}, {45, 132, 138, 19}, {45, 132, 138, 20}, {45, 132, 138, 21}, {45, 132, 138, 28}, {45, 132, 138, 29}}},
{Region: "Georgia", Group: "Premium TCP Europe", IPs: []net.IP{{45, 132, 138, 6}, {45, 132, 138, 7}, {45, 132, 138, 8}, {45, 132, 138, 10}, {45, 132, 138, 14}, {45, 132, 138, 15}, {45, 132, 138, 17}, {45, 132, 138, 19}, {45, 132, 138, 22}, {45, 132, 138, 29}}},
{Region: "Germany", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 217, 40}, {84, 17, 48, 203}, {84, 17, 49, 94}, {84, 17, 49, 102}, {84, 17, 49, 188}, {154, 28, 188, 30}, {154, 28, 188, 99}, {154, 28, 188, 117}, {154, 28, 188, 131}, {193, 176, 86, 218}}},
{Region: "Germany", Group: "Premium TCP Europe", IPs: []net.IP{{84, 17, 48, 13}, {84, 17, 48, 66}, {84, 17, 48, 72}, {84, 17, 48, 193}, {84, 17, 49, 129}, {154, 28, 188, 45}, {154, 28, 188, 58}, {154, 28, 188, 109}, {193, 176, 86, 215}, {212, 103, 50, 69}}},
{Region: "Greece", Group: "Premium UDP Europe", IPs: []net.IP{{154, 57, 3, 130}, {154, 57, 3, 131}, {154, 57, 3, 133}, {154, 57, 3, 134}, {154, 57, 3, 137}, {154, 57, 3, 138}, {188, 123, 126, 170}, {188, 123, 126, 174}, {188, 123, 126, 175}, {188, 123, 126, 176}}},
{Region: "Greece", Group: "Premium TCP Europe", IPs: []net.IP{{154, 57, 3, 130}, {154, 57, 3, 131}, {154, 57, 3, 133}, {154, 57, 3, 135}, {154, 57, 3, 136}, {154, 57, 3, 140}, {154, 57, 3, 141}, {188, 123, 126, 168}, {188, 123, 126, 174}, {188, 123, 126, 176}}},
{Region: "Greenland", Group: "Premium TCP Europe", IPs: []net.IP{{45, 131, 209, 6}, {45, 131, 209, 8}, {45, 131, 209, 9}, {45, 131, 209, 15}, {45, 131, 209, 19}, {45, 131, 209, 20}, {45, 131, 209, 21}, {45, 131, 209, 25}, {45, 131, 209, 26}, {45, 131, 209, 29}}},
{Region: "Greenland", Group: "Premium UDP Europe", IPs: []net.IP{{45, 131, 209, 7}, {45, 131, 209, 14}, {45, 131, 209, 16}, {45, 131, 209, 17}, {45, 131, 209, 18}, {45, 131, 209, 19}, {45, 131, 209, 20}, {45, 131, 209, 23}, {45, 131, 209, 26}, {45, 131, 209, 27}}},
{Region: "Hong Kong", Group: "Premium TCP Asia", IPs: []net.IP{{84, 17, 56, 131}, {84, 17, 56, 136}, {84, 17, 56, 152}, {84, 17, 56, 168}, {84, 17, 56, 170}, {84, 17, 56, 171}, {84, 17, 56, 174}, {84, 17, 56, 179}, {84, 17, 56, 180}, {84, 17, 56, 182}}},
{Region: "Hong Kong", Group: "Premium UDP Asia", IPs: []net.IP{{84, 17, 56, 135}, {84, 17, 56, 139}, {84, 17, 56, 140}, {84, 17, 56, 147}, {84, 17, 56, 148}, {84, 17, 56, 153}, {84, 17, 56, 164}, {84, 17, 56, 168}, {84, 17, 56, 179}, {84, 17, 56, 181}}},
{Region: "Hungary", Group: "Premium TCP Europe", IPs: []net.IP{{185, 104, 187, 83}, {185, 104, 187, 85}, {185, 104, 187, 89}, {185, 189, 114, 115}, {185, 189, 114, 116}, {185, 189, 114, 117}, {185, 189, 114, 118}, {185, 189, 114, 121}, {185, 189, 114, 124}, {185, 189, 114, 126}}},
{Region: "Hungary", Group: "Premium UDP Europe", IPs: []net.IP{{185, 104, 187, 85}, {185, 104, 187, 88}, {185, 104, 187, 91}, {185, 104, 187, 94}, {185, 189, 114, 116}, {185, 189, 114, 119}, {185, 189, 114, 120}, {185, 189, 114, 123}, {185, 189, 114, 124}, {185, 189, 114, 125}}},
{Region: "Iceland", Group: "Premium UDP Europe", IPs: []net.IP{{45, 133, 193, 3}, {45, 133, 193, 4}, {45, 133, 193, 5}, {45, 133, 193, 6}, {45, 133, 193, 7}, {45, 133, 193, 8}, {45, 133, 193, 9}, {45, 133, 193, 10}, {45, 133, 193, 12}, {45, 133, 193, 13}}},
{Region: "Iceland", Group: "Premium TCP Europe", IPs: []net.IP{{45, 133, 193, 3}, {45, 133, 193, 4}, {45, 133, 193, 5}, {45, 133, 193, 8}, {45, 133, 193, 9}, {45, 133, 193, 10}, {45, 133, 193, 11}, {45, 133, 193, 12}, {45, 133, 193, 13}, {45, 133, 193, 14}}},
{Region: "India", Group: "Premium UDP Europe", IPs: []net.IP{{43, 241, 71, 116}, {43, 241, 71, 118}, {43, 241, 71, 119}, {43, 241, 71, 120}, {43, 241, 71, 124}, {43, 241, 71, 125}, {43, 241, 71, 148}, {43, 241, 71, 150}, {43, 241, 71, 154}, {43, 241, 71, 155}}},
{Region: "India", Group: "Premium TCP Europe", IPs: []net.IP{{43, 241, 71, 116}, {43, 241, 71, 120}, {43, 241, 71, 121}, {43, 241, 71, 122}, {43, 241, 71, 125}, {43, 241, 71, 148}, {43, 241, 71, 151}, {43, 241, 71, 153}, {43, 241, 71, 155}, {43, 241, 71, 157}}},
{Region: "Indonesia", Group: "Premium UDP Asia", IPs: []net.IP{{113, 20, 29, 243}, {113, 20, 29, 244}, {113, 20, 29, 245}, {113, 20, 29, 246}, {113, 20, 29, 247}, {113, 20, 29, 249}, {113, 20, 29, 251}, {113, 20, 29, 252}, {113, 20, 29, 253}, {113, 20, 29, 254}}},
{Region: "Indonesia", Group: "Premium TCP Asia", IPs: []net.IP{{113, 20, 29, 243}, {113, 20, 29, 245}, {113, 20, 29, 246}, {113, 20, 29, 248}, {113, 20, 29, 249}, {113, 20, 29, 250}, {113, 20, 29, 251}, {113, 20, 29, 252}, {113, 20, 29, 253}, {113, 20, 29, 254}}},
{Region: "Iran", Group: "Premium UDP Europe", IPs: []net.IP{{45, 131, 4, 10}, {45, 131, 4, 13}, {45, 131, 4, 14}, {45, 131, 4, 15}, {45, 131, 4, 17}, {45, 131, 4, 20}, {45, 131, 4, 21}, {45, 131, 4, 22}, {45, 131, 4, 24}, {45, 131, 4, 28}}},
{Region: "Iran", Group: "Premium TCP Europe", IPs: []net.IP{{45, 131, 4, 7}, {45, 131, 4, 11}, {45, 131, 4, 12}, {45, 131, 4, 13}, {45, 131, 4, 19}, {45, 131, 4, 21}, {45, 131, 4, 26}, {45, 131, 4, 27}, {45, 131, 4, 28}, {45, 131, 4, 29}}},
{Region: "Ireland", Group: "Premium TCP Europe", IPs: []net.IP{{77, 81, 139, 36}, {77, 81, 139, 38}, {77, 81, 139, 39}, {77, 81, 139, 40}, {84, 247, 48, 3}, {84, 247, 48, 5}, {84, 247, 48, 11}, {84, 247, 48, 12}, {84, 247, 48, 27}, {84, 247, 48, 28}}},
{Region: "Ireland", Group: "Premium UDP Europe", IPs: []net.IP{{77, 81, 139, 42}, {77, 81, 139, 45}, {84, 247, 48, 3}, {84, 247, 48, 6}, {84, 247, 48, 7}, {84, 247, 48, 8}, {84, 247, 48, 20}, {84, 247, 48, 22}, {84, 247, 48, 24}, {84, 247, 48, 29}}},
{Region: "Isle of Man", Group: "Premium UDP Europe", IPs: []net.IP{{45, 132, 140, 7}, {45, 132, 140, 8}, {45, 132, 140, 9}, {45, 132, 140, 11}, {45, 132, 140, 13}, {45, 132, 140, 15}, {45, 132, 140, 18}, {45, 132, 140, 20}, {45, 132, 140, 24}, {45, 132, 140, 25}}},
{Region: "Isle of Man", Group: "Premium TCP Europe", IPs: []net.IP{{45, 132, 140, 7}, {45, 132, 140, 8}, {45, 132, 140, 15}, {45, 132, 140, 20}, {45, 132, 140, 21}, {45, 132, 140, 22}, {45, 132, 140, 23}, {45, 132, 140, 27}, {45, 132, 140, 28}, {45, 132, 140, 29}}},
{Region: "Israel", Group: "Premium TCP Europe", IPs: []net.IP{{160, 116, 0, 163}, {160, 116, 0, 165}, {160, 116, 0, 166}, {160, 116, 0, 167}, {160, 116, 0, 169}, {160, 116, 0, 170}, {160, 116, 0, 171}, {160, 116, 0, 172}, {160, 116, 0, 173}, {160, 116, 0, 174}}},
{Region: "Israel", Group: "Premium UDP Europe", IPs: []net.IP{{160, 116, 0, 163}, {160, 116, 0, 164}, {160, 116, 0, 165}, {160, 116, 0, 166}, {160, 116, 0, 167}, {160, 116, 0, 168}, {160, 116, 0, 169}, {160, 116, 0, 171}, {160, 116, 0, 172}, {160, 116, 0, 173}}},
{Region: "Italy", Group: "Premium TCP Europe", IPs: []net.IP{{84, 17, 58, 5}, {84, 17, 58, 8}, {84, 17, 58, 22}, {84, 17, 58, 97}, {84, 17, 58, 121}, {87, 101, 94, 119}, {185, 217, 71, 135}, {185, 217, 71, 142}, {185, 217, 71, 147}, {212, 102, 55, 115}}},
{Region: "Italy", Group: "Premium UDP Europe", IPs: []net.IP{{84, 17, 58, 9}, {84, 17, 58, 96}, {84, 17, 58, 97}, {84, 17, 58, 105}, {87, 101, 94, 115}, {87, 101, 94, 124}, {185, 217, 71, 135}, {185, 217, 71, 149}, {212, 102, 55, 98}, {212, 102, 55, 122}}},
{Region: "Japan", Group: "Premium UDP Asia", IPs: []net.IP{{156, 146, 35, 3}, {156, 146, 35, 6}, {156, 146, 35, 12}, {156, 146, 35, 21}, {156, 146, 35, 25}, {156, 146, 35, 30}, {156, 146, 35, 35}, {156, 146, 35, 39}, {156, 146, 35, 46}, {156, 146, 35, 50}}},
{Region: "Japan", Group: "Premium TCP Asia", IPs: []net.IP{{156, 146, 35, 3}, {156, 146, 35, 5}, {156, 146, 35, 17}, {156, 146, 35, 29}, {156, 146, 35, 32}, {156, 146, 35, 35}, {156, 146, 35, 36}, {156, 146, 35, 41}, {156, 146, 35, 47}, {156, 146, 35, 48}}},
{Region: "Kazakhstan", Group: "Premium TCP Europe", IPs: []net.IP{{45, 133, 88, 10}, {45, 133, 88, 11}, {45, 133, 88, 13}, {45, 133, 88, 14}, {45, 133, 88, 15}, {45, 133, 88, 17}, {45, 133, 88, 20}, {45, 133, 88, 21}, {45, 133, 88, 27}, {45, 133, 88, 28}}},
{Region: "Kazakhstan", Group: "Premium UDP Europe", IPs: []net.IP{{45, 133, 88, 6}, {45, 133, 88, 9}, {45, 133, 88, 11}, {45, 133, 88, 13}, {45, 133, 88, 14}, {45, 133, 88, 17}, {45, 133, 88, 20}, {45, 133, 88, 22}, {45, 133, 88, 25}, {45, 133, 88, 28}}},
{Region: "Kenya", Group: "Premium TCP Asia", IPs: []net.IP{{62, 12, 118, 195}, {62, 12, 118, 196}, {62, 12, 118, 197}, {62, 12, 118, 198}, {62, 12, 118, 199}, {62, 12, 118, 200}, {62, 12, 118, 201}, {62, 12, 118, 202}, {62, 12, 118, 203}, {62, 12, 118, 204}}},
{Region: "Kenya", Group: "Premium UDP Asia", IPs: []net.IP{{62, 12, 118, 195}, {62, 12, 118, 196}, {62, 12, 118, 197}, {62, 12, 118, 198}, {62, 12, 118, 199}, {62, 12, 118, 200}, {62, 12, 118, 201}, {62, 12, 118, 202}, {62, 12, 118, 203}, {62, 12, 118, 204}}},
{Region: "Korea", Group: "Premium TCP Asia", IPs: []net.IP{{27, 255, 75, 227}, {27, 255, 75, 228}, {27, 255, 75, 229}, {27, 255, 75, 238}, {27, 255, 75, 243}, {27, 255, 75, 245}, {27, 255, 75, 246}, {27, 255, 75, 249}, {27, 255, 75, 252}, {27, 255, 75, 254}}},
{Region: "Korea", Group: "Premium UDP Asia", IPs: []net.IP{{27, 255, 75, 227}, {27, 255, 75, 229}, {27, 255, 75, 231}, {27, 255, 75, 232}, {27, 255, 75, 234}, {27, 255, 75, 235}, {27, 255, 75, 236}, {27, 255, 75, 245}, {27, 255, 75, 247}, {27, 255, 75, 253}}},
{Region: "Latvia", Group: "Premium UDP Europe", IPs: []net.IP{{109, 248, 148, 245}, {109, 248, 148, 247}, {109, 248, 148, 252}, {109, 248, 148, 254}, {109, 248, 149, 20}, {109, 248, 149, 21}, {109, 248, 149, 27}, {109, 248, 149, 28}, {109, 248, 149, 29}, {109, 248, 149, 30}}},
{Region: "Latvia", Group: "Premium TCP Europe", IPs: []net.IP{{109, 248, 148, 243}, {109, 248, 148, 244}, {109, 248, 148, 252}, {109, 248, 149, 19}, {109, 248, 149, 23}, {109, 248, 149, 25}, {109, 248, 149, 27}, {109, 248, 149, 28}, {109, 248, 149, 29}, {109, 248, 149, 30}}},
{Region: "Liechtenstein", Group: "Premium TCP Europe", IPs: []net.IP{{91, 90, 122, 131}, {91, 90, 122, 133}, {91, 90, 122, 134}, {91, 90, 122, 135}, {91, 90, 122, 136}, {91, 90, 122, 137}, {91, 90, 122, 142}, {91, 90, 122, 143}, {91, 90, 122, 144}, {91, 90, 122, 145}}},
{Region: "Liechtenstein", Group: "Premium UDP Europe", IPs: []net.IP{{91, 90, 122, 131}, {91, 90, 122, 132}, {91, 90, 122, 134}, {91, 90, 122, 136}, {91, 90, 122, 138}, {91, 90, 122, 141}, {91, 90, 122, 142}, {91, 90, 122, 143}, {91, 90, 122, 144}, {91, 90, 122, 145}}},
{Region: "Lithuania", Group: "Premium TCP Europe", IPs: []net.IP{{85, 206, 162, 209}, {85, 206, 162, 211}, {85, 206, 162, 216}, {85, 206, 162, 217}, {85, 206, 162, 218}, {85, 206, 162, 221}, {85, 206, 165, 25}, {85, 206, 165, 26}, {85, 206, 165, 30}, {85, 206, 165, 31}}},
{Region: "Lithuania", Group: "Premium UDP Europe", IPs: []net.IP{{85, 206, 162, 209}, {85, 206, 162, 211}, {85, 206, 162, 216}, {85, 206, 162, 217}, {85, 206, 162, 219}, {85, 206, 162, 221}, {85, 206, 165, 19}, {85, 206, 165, 20}, {85, 206, 165, 23}, {85, 206, 165, 30}}},
{Region: "Luxembourg", Group: "Premium UDP Europe", IPs: []net.IP{{5, 253, 204, 19}, {5, 253, 204, 20}, {5, 253, 204, 22}, {5, 253, 204, 23}, {5, 253, 204, 24}, {5, 253, 204, 27}, {5, 253, 204, 29}, {5, 253, 204, 35}, {5, 253, 204, 44}, {5, 253, 204, 45}}},
{Region: "Luxembourg", Group: "Premium TCP Europe", IPs: []net.IP{{5, 253, 204, 9}, {5, 253, 204, 10}, {5, 253, 204, 24}, {5, 253, 204, 28}, {5, 253, 204, 30}, {5, 253, 204, 35}, {5, 253, 204, 38}, {5, 253, 204, 39}, {5, 253, 204, 41}, {5, 253, 204, 46}}},
{Region: "Macao", Group: "Premium TCP Asia", IPs: []net.IP{{84, 252, 92, 131}, {84, 252, 92, 133}, {84, 252, 92, 134}, {84, 252, 92, 135}, {84, 252, 92, 136}, {84, 252, 92, 139}, {84, 252, 92, 141}, {84, 252, 92, 143}, {84, 252, 92, 144}, {84, 252, 92, 145}}},
{Region: "Macao", Group: "Premium UDP Asia", IPs: []net.IP{{84, 252, 92, 131}, {84, 252, 92, 132}, {84, 252, 92, 133}, {84, 252, 92, 138}, {84, 252, 92, 140}, {84, 252, 92, 141}, {84, 252, 92, 142}, {84, 252, 92, 143}, {84, 252, 92, 144}, {84, 252, 92, 145}}},
{Region: "Korea", Group: "Premium UDP Asia", IPs: []net.IP{{27, 255, 75, 233}, {27, 255, 75, 236}, {27, 255, 75, 237}, {27, 255, 75, 244}, {27, 255, 75, 247}, {27, 255, 75, 249}, {27, 255, 75, 250}, {27, 255, 75, 252}, {27, 255, 75, 253}, {27, 255, 75, 254}}},
{Region: "Korea", Group: "Premium TCP Asia", IPs: []net.IP{{27, 255, 75, 228}, {27, 255, 75, 231}, {27, 255, 75, 233}, {27, 255, 75, 237}, {27, 255, 75, 243}, {27, 255, 75, 246}, {27, 255, 75, 248}, {27, 255, 75, 250}, {27, 255, 75, 252}, {27, 255, 75, 254}}},
{Region: "Latvia", Group: "Premium UDP Europe", IPs: []net.IP{{109, 248, 148, 244}, {109, 248, 148, 246}, {109, 248, 148, 252}, {109, 248, 148, 253}, {109, 248, 149, 19}, {109, 248, 149, 20}, {109, 248, 149, 23}, {109, 248, 149, 24}, {109, 248, 149, 27}, {109, 248, 149, 29}}},
{Region: "Latvia", Group: "Premium TCP Europe", IPs: []net.IP{{109, 248, 148, 243}, {109, 248, 148, 244}, {109, 248, 148, 251}, {109, 248, 148, 252}, {109, 248, 148, 254}, {109, 248, 149, 21}, {109, 248, 149, 24}, {109, 248, 149, 25}, {109, 248, 149, 28}, {109, 248, 149, 29}}},
{Region: "Liechtenstein", Group: "Premium TCP Europe", IPs: []net.IP{{45, 139, 48, 7}, {45, 139, 48, 8}, {45, 139, 48, 10}, {45, 139, 48, 11}, {45, 139, 48, 13}, {45, 139, 48, 19}, {45, 139, 48, 22}, {45, 139, 48, 24}, {45, 139, 48, 25}, {45, 139, 48, 29}}},
{Region: "Liechtenstein", Group: "Premium UDP Europe", IPs: []net.IP{{45, 139, 48, 7}, {45, 139, 48, 12}, {45, 139, 48, 13}, {45, 139, 48, 14}, {45, 139, 48, 16}, {45, 139, 48, 21}, {45, 139, 48, 22}, {45, 139, 48, 23}, {45, 139, 48, 25}, {45, 139, 48, 27}}},
{Region: "Lithuania", Group: "Premium UDP Europe", IPs: []net.IP{{85, 206, 162, 209}, {85, 206, 162, 211}, {85, 206, 162, 215}, {85, 206, 162, 218}, {85, 206, 162, 220}, {85, 206, 162, 222}, {85, 206, 165, 18}, {85, 206, 165, 20}, {85, 206, 165, 23}, {85, 206, 165, 26}}},
{Region: "Lithuania", Group: "Premium TCP Europe", IPs: []net.IP{{85, 206, 162, 210}, {85, 206, 162, 214}, {85, 206, 162, 215}, {85, 206, 162, 218}, {85, 206, 162, 219}, {85, 206, 162, 220}, {85, 206, 162, 221}, {85, 206, 165, 17}, {85, 206, 165, 18}, {85, 206, 165, 19}}},
{Region: "Luxembourg", Group: "Premium UDP Europe", IPs: []net.IP{{5, 253, 204, 8}, {5, 253, 204, 10}, {5, 253, 204, 11}, {5, 253, 204, 14}, {5, 253, 204, 19}, {5, 253, 204, 21}, {5, 253, 204, 23}, {5, 253, 204, 27}, {5, 253, 204, 29}, {5, 253, 204, 30}}},
{Region: "Luxembourg", Group: "Premium TCP Europe", IPs: []net.IP{{5, 253, 204, 5}, {5, 253, 204, 9}, {5, 253, 204, 10}, {5, 253, 204, 12}, {5, 253, 204, 13}, {5, 253, 204, 19}, {5, 253, 204, 22}, {5, 253, 204, 26}, {5, 253, 204, 27}, {5, 253, 204, 28}}},
{Region: "Macao", Group: "Premium UDP Asia", IPs: []net.IP{{45, 137, 197, 9}, {45, 137, 197, 10}, {45, 137, 197, 12}, {45, 137, 197, 14}, {45, 137, 197, 18}, {45, 137, 197, 25}, {45, 137, 197, 29}, {45, 137, 197, 30}, {45, 137, 197, 33}, {45, 137, 197, 45}}},
{Region: "Macao", Group: "Premium TCP Asia", IPs: []net.IP{{45, 137, 197, 1}, {45, 137, 197, 14}, {45, 137, 197, 16}, {45, 137, 197, 17}, {45, 137, 197, 26}, {45, 137, 197, 28}, {45, 137, 197, 30}, {45, 137, 197, 40}, {45, 137, 197, 42}, {45, 137, 197, 48}}},
{Region: "Macedonia", Group: "Premium UDP Europe", IPs: []net.IP{{185, 225, 28, 3}, {185, 225, 28, 4}, {185, 225, 28, 5}, {185, 225, 28, 6}, {185, 225, 28, 7}, {185, 225, 28, 8}, {185, 225, 28, 9}, {185, 225, 28, 10}, {185, 225, 28, 11}, {185, 225, 28, 12}}},
{Region: "Macedonia", Group: "Premium TCP Europe", IPs: []net.IP{{185, 225, 28, 3}, {185, 225, 28, 4}, {185, 225, 28, 5}, {185, 225, 28, 6}, {185, 225, 28, 7}, {185, 225, 28, 8}, {185, 225, 28, 9}, {185, 225, 28, 10}, {185, 225, 28, 11}, {185, 225, 28, 12}}},
{Region: "Malaysia", Group: "Premium TCP Asia", IPs: []net.IP{{139, 5, 177, 69}, {139, 5, 177, 70}, {139, 5, 177, 71}, {139, 5, 177, 72}, {139, 5, 177, 73}, {139, 5, 177, 74}, {139, 5, 177, 75}, {139, 5, 177, 76}, {139, 5, 177, 77}, {139, 5, 177, 78}}},
{Region: "Malaysia", Group: "Premium UDP Asia", IPs: []net.IP{{139, 5, 177, 69}, {139, 5, 177, 70}, {139, 5, 177, 71}, {139, 5, 177, 72}, {139, 5, 177, 73}, {139, 5, 177, 74}, {139, 5, 177, 75}, {139, 5, 177, 76}, {139, 5, 177, 77}, {139, 5, 177, 78}}},
{Region: "Malta", Group: "Premium UDP Europe", IPs: []net.IP{{176, 125, 230, 131}, {176, 125, 230, 132}, {176, 125, 230, 133}, {176, 125, 230, 135}, {176, 125, 230, 136}, {176, 125, 230, 140}, {176, 125, 230, 141}, {176, 125, 230, 142}, {176, 125, 230, 143}, {176, 125, 230, 145}}},
{Region: "Malta", Group: "Premium TCP Europe", IPs: []net.IP{{176, 125, 230, 132}, {176, 125, 230, 133}, {176, 125, 230, 134}, {176, 125, 230, 135}, {176, 125, 230, 136}, {176, 125, 230, 138}, {176, 125, 230, 140}, {176, 125, 230, 142}, {176, 125, 230, 143}, {176, 125, 230, 144}}},
{Region: "Mexico", Group: "Premium UDP USA", IPs: []net.IP{{77, 81, 142, 132}, {77, 81, 142, 136}, {77, 81, 142, 137}, {77, 81, 142, 139}, {77, 81, 142, 140}, {77, 81, 142, 143}, {77, 81, 142, 146}, {77, 81, 142, 149}, {77, 81, 142, 154}, {77, 81, 142, 155}}},
{Region: "Mexico", Group: "Premium TCP USA", IPs: []net.IP{{77, 81, 142, 130}, {77, 81, 142, 132}, {77, 81, 142, 134}, {77, 81, 142, 136}, {77, 81, 142, 138}, {77, 81, 142, 142}, {77, 81, 142, 146}, {77, 81, 142, 150}, {77, 81, 142, 154}, {77, 81, 142, 155}}},
{Region: "Moldova", Group: "Premium UDP Europe", IPs: []net.IP{{178, 175, 130, 243}, {178, 175, 130, 244}, {178, 175, 130, 245}, {178, 175, 130, 246}, {178, 175, 130, 250}, {178, 175, 130, 251}, {178, 175, 130, 252}, {178, 175, 130, 254}, {178, 175, 142, 133}, {178, 175, 142, 134}}},
{Region: "Moldova", Group: "Premium TCP Europe", IPs: []net.IP{{178, 175, 130, 243}, {178, 175, 130, 244}, {178, 175, 130, 245}, {178, 175, 130, 246}, {178, 175, 130, 250}, {178, 175, 130, 252}, {178, 175, 130, 253}, {178, 175, 130, 254}, {178, 175, 142, 132}, {178, 175, 142, 134}}},
{Region: "Monaco", Group: "Premium UDP Europe", IPs: []net.IP{{95, 181, 233, 131}, {95, 181, 233, 134}, {95, 181, 233, 135}, {95, 181, 233, 136}, {95, 181, 233, 137}, {95, 181, 233, 138}, {95, 181, 233, 140}, {95, 181, 233, 141}, {95, 181, 233, 142}, {95, 181, 233, 143}}},
{Region: "Monaco", Group: "Premium TCP Europe", IPs: []net.IP{{95, 181, 233, 131}, {95, 181, 233, 132}, {95, 181, 233, 134}, {95, 181, 233, 136}, {95, 181, 233, 137}, {95, 181, 233, 140}, {95, 181, 233, 141}, {95, 181, 233, 142}, {95, 181, 233, 143}, {95, 181, 233, 144}}},
{Region: "Mongolia", Group: "Premium TCP Asia", IPs: []net.IP{{185, 253, 163, 132}, {185, 253, 163, 134}, {185, 253, 163, 136}, {185, 253, 163, 137}, {185, 253, 163, 138}, {185, 253, 163, 139}, {185, 253, 163, 140}, {185, 253, 163, 142}, {185, 253, 163, 144}, {185, 253, 163, 145}}},
{Region: "Mongolia", Group: "Premium UDP Asia", IPs: []net.IP{{185, 253, 163, 131}, {185, 253, 163, 134}, {185, 253, 163, 136}, {185, 253, 163, 137}, {185, 253, 163, 139}, {185, 253, 163, 140}, {185, 253, 163, 141}, {185, 253, 163, 142}, {185, 253, 163, 144}, {185, 253, 163, 145}}},
{Region: "Montenegro", Group: "Premium UDP Europe", IPs: []net.IP{{176, 125, 229, 132}, {176, 125, 229, 133}, {176, 125, 229, 134}, {176, 125, 229, 135}, {176, 125, 229, 137}, {176, 125, 229, 139}, {176, 125, 229, 140}, {176, 125, 229, 141}, {176, 125, 229, 142}, {176, 125, 229, 145}}},
{Region: "Montenegro", Group: "Premium TCP Europe", IPs: []net.IP{{176, 125, 229, 131}, {176, 125, 229, 134}, {176, 125, 229, 135}, {176, 125, 229, 137}, {176, 125, 229, 138}, {176, 125, 229, 140}, {176, 125, 229, 141}, {176, 125, 229, 142}, {176, 125, 229, 143}, {176, 125, 229, 145}}},
{Region: "Morocco", Group: "Premium UDP Europe", IPs: []net.IP{{95, 181, 232, 131}, {95, 181, 232, 132}, {95, 181, 232, 134}, {95, 181, 232, 135}, {95, 181, 232, 139}, {95, 181, 232, 140}, {95, 181, 232, 141}, {95, 181, 232, 142}, {95, 181, 232, 143}, {95, 181, 232, 144}}},
{Region: "Morocco", Group: "Premium TCP Europe", IPs: []net.IP{{95, 181, 232, 131}, {95, 181, 232, 133}, {95, 181, 232, 134}, {95, 181, 232, 135}, {95, 181, 232, 137}, {95, 181, 232, 138}, {95, 181, 232, 139}, {95, 181, 232, 141}, {95, 181, 232, 142}, {95, 181, 232, 143}}},
{Region: "Netherlands", Group: "Premium TCP Europe", IPs: []net.IP{{84, 17, 47, 2}, {84, 17, 47, 3}, {84, 17, 47, 9}, {84, 17, 47, 15}, {84, 17, 47, 16}, {84, 17, 47, 54}, {84, 17, 47, 69}, {84, 17, 47, 81}, {84, 17, 47, 111}, {195, 181, 172, 72}}},
{Region: "Netherlands", Group: "Premium UDP Europe", IPs: []net.IP{{84, 17, 47, 9}, {84, 17, 47, 34}, {84, 17, 47, 52}, {84, 17, 47, 53}, {84, 17, 47, 66}, {84, 17, 47, 73}, {84, 17, 47, 95}, {139, 28, 217, 222}, {195, 181, 172, 67}, {195, 181, 172, 68}}},
{Region: "New Zealand", Group: "Premium TCP Asia", IPs: []net.IP{{114, 141, 194, 2}, {114, 141, 194, 3}, {114, 141, 194, 4}, {114, 141, 194, 5}, {114, 141, 194, 7}, {114, 141, 194, 8}, {114, 141, 194, 10}, {114, 141, 194, 12}, {114, 141, 194, 13}, {114, 141, 194, 14}}},
{Region: "New Zealand", Group: "Premium UDP Asia", IPs: []net.IP{{114, 141, 194, 2}, {114, 141, 194, 3}, {114, 141, 194, 5}, {114, 141, 194, 6}, {114, 141, 194, 7}, {114, 141, 194, 8}, {114, 141, 194, 9}, {114, 141, 194, 11}, {114, 141, 194, 12}, {114, 141, 194, 13}}},
{Region: "Nigeria", Group: "Premium TCP Europe", IPs: []net.IP{{102, 165, 25, 68}, {102, 165, 25, 69}, {102, 165, 25, 70}, {102, 165, 25, 71}, {102, 165, 25, 72}, {102, 165, 25, 73}, {102, 165, 25, 74}, {102, 165, 25, 76}, {102, 165, 25, 77}, {102, 165, 25, 78}}},
{Region: "Nigeria", Group: "Premium UDP Europe", IPs: []net.IP{{102, 165, 25, 68}, {102, 165, 25, 69}, {102, 165, 25, 70}, {102, 165, 25, 71}, {102, 165, 25, 72}, {102, 165, 25, 74}, {102, 165, 25, 75}, {102, 165, 25, 76}, {102, 165, 25, 77}, {102, 165, 25, 78}}},
{Region: "Norway", Group: "Premium UDP Europe", IPs: []net.IP{{45, 12, 223, 137}, {45, 12, 223, 140}, {45, 12, 223, 141}, {82, 102, 27, 92}, {185, 206, 225, 29}, {185, 206, 225, 231}, {185, 206, 225, 235}, {185, 253, 97, 248}, {185, 253, 97, 249}, {185, 253, 97, 250}}},
{Region: "Norway", Group: "Premium TCP Europe", IPs: []net.IP{{185, 206, 225, 229}, {185, 206, 225, 230}, {185, 206, 225, 231}, {185, 206, 225, 232}, {185, 206, 225, 234}, {185, 253, 97, 236}, {185, 253, 97, 243}, {185, 253, 97, 245}, {185, 253, 97, 247}, {185, 253, 97, 251}}},
{Region: "Pakistan", Group: "Premium TCP Europe", IPs: []net.IP{{103, 76, 3, 244}, {103, 76, 3, 245}, {103, 76, 3, 246}, {103, 76, 3, 247}, {103, 76, 3, 248}, {103, 76, 3, 249}, {103, 76, 3, 250}, {103, 76, 3, 251}, {103, 76, 3, 252}, {103, 76, 3, 253}}},
{Region: "Malaysia", Group: "Premium TCP Asia", IPs: []net.IP{{139, 5, 177, 69}, {139, 5, 177, 70}, {139, 5, 177, 71}, {139, 5, 177, 72}, {139, 5, 177, 73}, {139, 5, 177, 74}, {139, 5, 177, 75}, {139, 5, 177, 76}, {139, 5, 177, 77}, {139, 5, 177, 78}}},
{Region: "Malta", Group: "Premium UDP Europe", IPs: []net.IP{{45, 137, 198, 9}, {45, 137, 198, 11}, {45, 137, 198, 18}, {45, 137, 198, 20}, {45, 137, 198, 24}, {45, 137, 198, 25}, {45, 137, 198, 26}, {45, 137, 198, 27}, {45, 137, 198, 28}, {45, 137, 198, 29}}},
{Region: "Malta", Group: "Premium TCP Europe", IPs: []net.IP{{45, 137, 198, 8}, {45, 137, 198, 10}, {45, 137, 198, 12}, {45, 137, 198, 14}, {45, 137, 198, 17}, {45, 137, 198, 19}, {45, 137, 198, 20}, {45, 137, 198, 22}, {45, 137, 198, 27}, {45, 137, 198, 28}}},
{Region: "Mexico", Group: "Premium TCP USA", IPs: []net.IP{{45, 133, 180, 99}, {45, 133, 180, 100}, {45, 133, 180, 103}, {45, 133, 180, 104}, {45, 133, 180, 109}, {45, 133, 180, 115}, {45, 133, 180, 118}, {45, 133, 180, 119}, {45, 133, 180, 120}, {45, 133, 180, 123}}},
{Region: "Mexico", Group: "Premium UDP USA", IPs: []net.IP{{45, 133, 180, 101}, {45, 133, 180, 103}, {45, 133, 180, 106}, {45, 133, 180, 107}, {45, 133, 180, 109}, {45, 133, 180, 110}, {45, 133, 180, 119}, {45, 133, 180, 121}, {45, 133, 180, 122}, {45, 133, 180, 123}}},
{Region: "Moldova", Group: "Premium TCP Europe", IPs: []net.IP{{178, 175, 130, 243}, {178, 175, 130, 245}, {178, 175, 130, 246}, {178, 175, 130, 250}, {178, 175, 130, 251}, {178, 175, 130, 252}, {178, 175, 130, 254}, {178, 175, 142, 131}, {178, 175, 142, 133}, {178, 175, 142, 134}}},
{Region: "Moldova", Group: "Premium UDP Europe", IPs: []net.IP{{178, 175, 130, 243}, {178, 175, 130, 246}, {178, 175, 130, 250}, {178, 175, 130, 251}, {178, 175, 130, 253}, {178, 175, 130, 254}, {178, 175, 142, 131}, {178, 175, 142, 132}, {178, 175, 142, 133}, {178, 175, 142, 134}}},
{Region: "Monaco", Group: "Premium TCP Europe", IPs: []net.IP{{45, 137, 199, 6}, {45, 137, 199, 8}, {45, 137, 199, 11}, {45, 137, 199, 12}, {45, 137, 199, 13}, {45, 137, 199, 15}, {45, 137, 199, 16}, {45, 137, 199, 18}, {45, 137, 199, 23}, {45, 137, 199, 26}}},
{Region: "Monaco", Group: "Premium UDP Europe", IPs: []net.IP{{45, 137, 199, 6}, {45, 137, 199, 7}, {45, 137, 199, 10}, {45, 137, 199, 12}, {45, 137, 199, 13}, {45, 137, 199, 19}, {45, 137, 199, 20}, {45, 137, 199, 23}, {45, 137, 199, 25}, {45, 137, 199, 29}}},
{Region: "Mongolia", Group: "Premium UDP Asia", IPs: []net.IP{{45, 139, 51, 4}, {45, 139, 51, 11}, {45, 139, 51, 12}, {45, 139, 51, 15}, {45, 139, 51, 16}, {45, 139, 51, 27}, {45, 139, 51, 29}, {45, 139, 51, 32}, {45, 139, 51, 46}, {45, 139, 51, 48}}},
{Region: "Mongolia", Group: "Premium TCP Asia", IPs: []net.IP{{45, 139, 51, 5}, {45, 139, 51, 7}, {45, 139, 51, 15}, {45, 139, 51, 17}, {45, 139, 51, 18}, {45, 139, 51, 20}, {45, 139, 51, 21}, {45, 139, 51, 39}, {45, 139, 51, 41}, {45, 139, 51, 45}}},
{Region: "Montenegro", Group: "Premium TCP Europe", IPs: []net.IP{{45, 131, 208, 8}, {45, 131, 208, 9}, {45, 131, 208, 10}, {45, 131, 208, 17}, {45, 131, 208, 19}, {45, 131, 208, 20}, {45, 131, 208, 23}, {45, 131, 208, 25}, {45, 131, 208, 26}, {45, 131, 208, 28}}},
{Region: "Montenegro", Group: "Premium UDP Europe", IPs: []net.IP{{45, 131, 208, 6}, {45, 131, 208, 7}, {45, 131, 208, 8}, {45, 131, 208, 9}, {45, 131, 208, 13}, {45, 131, 208, 18}, {45, 131, 208, 21}, {45, 131, 208, 23}, {45, 131, 208, 27}, {45, 131, 208, 29}}},
{Region: "Morocco", Group: "Premium TCP Europe", IPs: []net.IP{{45, 131, 211, 9}, {45, 131, 211, 11}, {45, 131, 211, 12}, {45, 131, 211, 16}, {45, 131, 211, 18}, {45, 131, 211, 19}, {45, 131, 211, 21}, {45, 131, 211, 24}, {45, 131, 211, 27}, {45, 131, 211, 28}}},
{Region: "Morocco", Group: "Premium UDP Europe", IPs: []net.IP{{45, 131, 211, 8}, {45, 131, 211, 14}, {45, 131, 211, 15}, {45, 131, 211, 17}, {45, 131, 211, 19}, {45, 131, 211, 21}, {45, 131, 211, 22}, {45, 131, 211, 23}, {45, 131, 211, 25}, {45, 131, 211, 26}}},
{Region: "Netherlands", Group: "Premium TCP Europe", IPs: []net.IP{{84, 17, 47, 53}, {84, 17, 47, 55}, {84, 17, 47, 64}, {84, 17, 47, 73}, {84, 17, 47, 102}, {84, 17, 47, 107}, {84, 17, 47, 110}, {84, 17, 47, 112}, {139, 28, 217, 200}, {195, 181, 172, 80}}},
{Region: "Netherlands", Group: "Premium UDP Europe", IPs: []net.IP{{84, 17, 47, 45}, {84, 17, 47, 68}, {84, 17, 47, 75}, {84, 17, 47, 92}, {84, 17, 47, 105}, {195, 181, 172, 69}, {195, 181, 172, 70}, {195, 181, 172, 77}, {195, 181, 172, 78}, {195, 181, 172, 79}}},
{Region: "New Zealand", Group: "Premium TCP Asia", IPs: []net.IP{{114, 141, 194, 2}, {114, 141, 194, 4}, {114, 141, 194, 5}, {114, 141, 194, 7}, {114, 141, 194, 8}, {114, 141, 194, 9}, {114, 141, 194, 10}, {114, 141, 194, 11}, {114, 141, 194, 13}, {114, 141, 194, 14}}},
{Region: "New Zealand", Group: "Premium UDP Asia", IPs: []net.IP{{114, 141, 194, 2}, {114, 141, 194, 3}, {114, 141, 194, 4}, {114, 141, 194, 6}, {114, 141, 194, 7}, {114, 141, 194, 8}, {114, 141, 194, 9}, {114, 141, 194, 10}, {114, 141, 194, 12}, {114, 141, 194, 13}}},
{Region: "Nigeria", Group: "Premium UDP Europe", IPs: []net.IP{{45, 137, 196, 6}, {45, 137, 196, 10}, {45, 137, 196, 14}, {45, 137, 196, 15}, {45, 137, 196, 17}, {45, 137, 196, 20}, {45, 137, 196, 24}, {45, 137, 196, 26}, {45, 137, 196, 28}, {45, 137, 196, 29}}},
{Region: "Nigeria", Group: "Premium TCP Europe", IPs: []net.IP{{45, 137, 196, 6}, {45, 137, 196, 7}, {45, 137, 196, 8}, {45, 137, 196, 15}, {45, 137, 196, 16}, {45, 137, 196, 19}, {45, 137, 196, 23}, {45, 137, 196, 24}, {45, 137, 196, 27}, {45, 137, 196, 28}}},
{Region: "Norway", Group: "Premium TCP Europe", IPs: []net.IP{{45, 12, 223, 136}, {45, 12, 223, 139}, {45, 12, 223, 141}, {82, 102, 27, 93}, {185, 206, 225, 230}, {185, 206, 225, 232}, {185, 206, 225, 235}, {185, 253, 97, 235}, {185, 253, 97, 251}, {185, 253, 97, 253}}},
{Region: "Norway", Group: "Premium UDP Europe", IPs: []net.IP{{45, 12, 223, 134}, {82, 102, 27, 92}, {185, 206, 225, 29}, {185, 206, 225, 30}, {185, 206, 225, 231}, {185, 206, 225, 233}, {185, 206, 225, 234}, {185, 253, 97, 236}, {185, 253, 97, 243}, {185, 253, 97, 245}}},
{Region: "Pakistan", Group: "Premium UDP Europe", IPs: []net.IP{{103, 76, 3, 244}, {103, 76, 3, 245}, {103, 76, 3, 246}, {103, 76, 3, 247}, {103, 76, 3, 248}, {103, 76, 3, 249}, {103, 76, 3, 250}, {103, 76, 3, 251}, {103, 76, 3, 252}, {103, 76, 3, 253}}},
{Region: "Panama", Group: "Premium UDP Europe", IPs: []net.IP{{91, 90, 126, 131}, {91, 90, 126, 132}, {91, 90, 126, 133}, {91, 90, 126, 134}, {91, 90, 126, 135}, {91, 90, 126, 136}, {91, 90, 126, 139}, {91, 90, 126, 141}, {91, 90, 126, 143}, {91, 90, 126, 144}}},
{Region: "Panama", Group: "Premium TCP Europe", IPs: []net.IP{{91, 90, 126, 131}, {91, 90, 126, 132}, {91, 90, 126, 134}, {91, 90, 126, 135}, {91, 90, 126, 137}, {91, 90, 126, 139}, {91, 90, 126, 140}, {91, 90, 126, 142}, {91, 90, 126, 144}, {91, 90, 126, 145}}},
{Region: "Philippines", Group: "Premium UDP Asia", IPs: []net.IP{{188, 214, 125, 35}, {188, 214, 125, 36}, {188, 214, 125, 41}, {188, 214, 125, 44}, {188, 214, 125, 47}, {188, 214, 125, 52}, {188, 214, 125, 53}, {188, 214, 125, 54}, {188, 214, 125, 55}, {188, 214, 125, 60}}},
{Region: "Philippines", Group: "Premium TCP Asia", IPs: []net.IP{{188, 214, 125, 36}, {188, 214, 125, 37}, {188, 214, 125, 39}, {188, 214, 125, 43}, {188, 214, 125, 45}, {188, 214, 125, 47}, {188, 214, 125, 48}, {188, 214, 125, 57}, {188, 214, 125, 58}, {188, 214, 125, 59}}},
{Region: "Poland", Group: "Premium TCP Europe", IPs: []net.IP{{37, 120, 156, 5}, {37, 120, 156, 9}, {37, 120, 156, 19}, {37, 120, 156, 27}, {37, 120, 156, 29}, {37, 120, 156, 35}, {37, 120, 156, 36}, {51, 75, 56, 40}, {51, 75, 56, 41}, {51, 75, 56, 44}}},
{Region: "Poland", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 156, 4}, {37, 120, 156, 10}, {37, 120, 156, 16}, {37, 120, 156, 23}, {37, 120, 156, 27}, {37, 120, 156, 29}, {37, 120, 156, 30}, {37, 120, 156, 38}, {37, 120, 156, 39}, {51, 75, 56, 36}}},
{Region: "Portugal", Group: "Premium TCP Europe", IPs: []net.IP{{89, 26, 243, 1}, {89, 26, 243, 98}, {89, 26, 243, 112}, {89, 26, 243, 113}, {89, 26, 243, 115}, {89, 26, 243, 195}, {89, 26, 243, 196}, {89, 26, 243, 197}, {89, 26, 243, 198}, {89, 26, 243, 199}}},
{Region: "Portugal", Group: "Premium UDP Europe", IPs: []net.IP{{89, 26, 243, 1}, {89, 26, 243, 99}, {89, 26, 243, 113}, {89, 26, 243, 115}, {89, 26, 243, 194}, {89, 26, 243, 195}, {89, 26, 243, 196}, {89, 26, 243, 197}, {89, 26, 243, 198}, {89, 26, 243, 199}}},
{Region: "Qatar", Group: "Premium TCP Europe", IPs: []net.IP{{95, 181, 234, 132}, {95, 181, 234, 133}, {95, 181, 234, 134}, {95, 181, 234, 136}, {95, 181, 234, 138}, {95, 181, 234, 140}, {95, 181, 234, 141}, {95, 181, 234, 142}, {95, 181, 234, 143}, {95, 181, 234, 144}}},
{Region: "Qatar", Group: "Premium UDP Europe", IPs: []net.IP{{95, 181, 234, 131}, {95, 181, 234, 132}, {95, 181, 234, 133}, {95, 181, 234, 134}, {95, 181, 234, 137}, {95, 181, 234, 138}, {95, 181, 234, 141}, {95, 181, 234, 142}, {95, 181, 234, 143}, {95, 181, 234, 144}}},
{Region: "Russian Federation", Group: "Premium TCP Europe", IPs: []net.IP{{5, 8, 16, 67}, {5, 8, 16, 71}, {5, 8, 16, 73}, {5, 8, 16, 75}, {5, 8, 16, 76}, {5, 8, 16, 87}, {5, 8, 16, 88}, {5, 8, 16, 89}, {5, 8, 16, 90}, {5, 8, 16, 104}}},
{Region: "Russian Federation", Group: "Premium UDP Europe", IPs: []net.IP{{5, 8, 16, 68}, {5, 8, 16, 75}, {5, 8, 16, 84}, {5, 8, 16, 86}, {5, 8, 16, 87}, {5, 8, 16, 88}, {5, 8, 16, 104}, {5, 8, 16, 106}, {5, 8, 16, 107}, {5, 8, 16, 110}}},
{Region: "Saudi Arabia", Group: "Premium UDP Europe", IPs: []net.IP{{95, 181, 235, 132}, {95, 181, 235, 133}, {95, 181, 235, 134}, {95, 181, 235, 135}, {95, 181, 235, 136}, {95, 181, 235, 137}, {95, 181, 235, 139}, {95, 181, 235, 141}, {95, 181, 235, 142}, {95, 181, 235, 143}}},
{Region: "Saudi Arabia", Group: "Premium TCP Europe", IPs: []net.IP{{95, 181, 235, 134}, {95, 181, 235, 136}, {95, 181, 235, 137}, {95, 181, 235, 138}, {95, 181, 235, 139}, {95, 181, 235, 140}, {95, 181, 235, 141}, {95, 181, 235, 142}, {95, 181, 235, 143}, {95, 181, 235, 144}}},
{Region: "Serbia", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 193, 182}, {37, 120, 193, 185}, {37, 120, 193, 187}, {141, 98, 103, 35}, {141, 98, 103, 37}, {141, 98, 103, 39}, {141, 98, 103, 41}, {141, 98, 103, 42}, {141, 98, 103, 44}, {141, 98, 103, 46}}},
{Region: "Serbia", Group: "Premium TCP Europe", IPs: []net.IP{{37, 120, 193, 180}, {37, 120, 193, 182}, {37, 120, 193, 183}, {37, 120, 193, 184}, {37, 120, 193, 190}, {141, 98, 103, 35}, {141, 98, 103, 36}, {141, 98, 103, 39}, {141, 98, 103, 40}, {141, 98, 103, 42}}},
{Region: "Singapore", Group: "Premium TCP Asia", IPs: []net.IP{{37, 120, 151, 59}, {37, 120, 151, 134}, {37, 120, 151, 135}, {37, 120, 151, 136}, {37, 120, 151, 140}, {37, 120, 151, 141}, {84, 17, 39, 172}, {84, 17, 39, 173}, {84, 17, 39, 178}, {84, 17, 39, 179}}},
{Region: "Singapore", Group: "Premium UDP Asia", IPs: []net.IP{{37, 120, 151, 52}, {37, 120, 151, 133}, {37, 120, 151, 138}, {37, 120, 151, 140}, {37, 120, 151, 142}, {84, 17, 39, 171}, {84, 17, 39, 176}, {84, 17, 39, 177}, {84, 17, 39, 179}, {84, 17, 39, 182}}},
{Region: "Slovakia", Group: "Premium TCP Europe", IPs: []net.IP{{185, 245, 85, 227}, {185, 245, 85, 228}, {185, 245, 85, 229}, {185, 245, 85, 230}, {185, 245, 85, 231}, {185, 245, 85, 232}, {185, 245, 85, 233}, {185, 245, 85, 234}, {185, 245, 85, 235}, {185, 245, 85, 236}}},
{Region: "Pakistan", Group: "Premium TCP Europe", IPs: []net.IP{{103, 76, 3, 244}, {103, 76, 3, 245}, {103, 76, 3, 246}, {103, 76, 3, 247}, {103, 76, 3, 248}, {103, 76, 3, 249}, {103, 76, 3, 250}, {103, 76, 3, 251}, {103, 76, 3, 252}, {103, 76, 3, 253}}},
{Region: "Panama", Group: "Premium UDP Europe", IPs: []net.IP{{45, 131, 210, 6}, {45, 131, 210, 7}, {45, 131, 210, 10}, {45, 131, 210, 13}, {45, 131, 210, 14}, {45, 131, 210, 19}, {45, 131, 210, 24}, {45, 131, 210, 25}, {45, 131, 210, 28}, {45, 131, 210, 29}}},
{Region: "Panama", Group: "Premium TCP Europe", IPs: []net.IP{{45, 131, 210, 7}, {45, 131, 210, 8}, {45, 131, 210, 9}, {45, 131, 210, 10}, {45, 131, 210, 12}, {45, 131, 210, 13}, {45, 131, 210, 16}, {45, 131, 210, 17}, {45, 131, 210, 20}, {45, 131, 210, 24}}},
{Region: "Philippines", Group: "Premium UDP Asia", IPs: []net.IP{{188, 214, 125, 35}, {188, 214, 125, 37}, {188, 214, 125, 40}, {188, 214, 125, 41}, {188, 214, 125, 44}, {188, 214, 125, 47}, {188, 214, 125, 54}, {188, 214, 125, 57}, {188, 214, 125, 58}, {188, 214, 125, 59}}},
{Region: "Philippines", Group: "Premium TCP Asia", IPs: []net.IP{{188, 214, 125, 35}, {188, 214, 125, 39}, {188, 214, 125, 40}, {188, 214, 125, 43}, {188, 214, 125, 44}, {188, 214, 125, 50}, {188, 214, 125, 57}, {188, 214, 125, 58}, {188, 214, 125, 60}, {188, 214, 125, 62}}},
{Region: "Poland", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 156, 8}, {37, 120, 156, 10}, {37, 120, 156, 12}, {37, 120, 156, 13}, {37, 120, 156, 19}, {37, 120, 156, 22}, {37, 120, 156, 23}, {37, 120, 156, 24}, {51, 75, 56, 37}, {51, 75, 56, 44}}},
{Region: "Poland", Group: "Premium TCP Europe", IPs: []net.IP{{37, 120, 156, 6}, {37, 120, 156, 8}, {37, 120, 156, 10}, {37, 120, 156, 12}, {37, 120, 156, 13}, {37, 120, 156, 20}, {37, 120, 156, 21}, {37, 120, 156, 27}, {51, 75, 56, 34}, {51, 75, 56, 43}}},
{Region: "Portugal", Group: "Premium UDP Europe", IPs: []net.IP{{89, 26, 243, 2}, {89, 26, 243, 98}, {89, 26, 243, 100}, {89, 26, 243, 112}, {89, 26, 243, 113}, {89, 26, 243, 115}, {89, 26, 243, 194}, {89, 26, 243, 195}, {89, 26, 243, 198}, {89, 26, 243, 199}}},
{Region: "Portugal", Group: "Premium TCP Europe", IPs: []net.IP{{89, 26, 243, 1}, {89, 26, 243, 98}, {89, 26, 243, 100}, {89, 26, 243, 112}, {89, 26, 243, 113}, {89, 26, 243, 114}, {89, 26, 243, 194}, {89, 26, 243, 195}, {89, 26, 243, 197}, {89, 26, 243, 198}}},
{Region: "Qatar", Group: "Premium TCP Europe", IPs: []net.IP{{45, 131, 7, 6}, {45, 131, 7, 10}, {45, 131, 7, 13}, {45, 131, 7, 15}, {45, 131, 7, 16}, {45, 131, 7, 22}, {45, 131, 7, 24}, {45, 131, 7, 26}, {45, 131, 7, 27}, {45, 131, 7, 28}}},
{Region: "Qatar", Group: "Premium UDP Europe", IPs: []net.IP{{45, 131, 7, 7}, {45, 131, 7, 9}, {45, 131, 7, 13}, {45, 131, 7, 16}, {45, 131, 7, 17}, {45, 131, 7, 18}, {45, 131, 7, 19}, {45, 131, 7, 20}, {45, 131, 7, 26}, {45, 131, 7, 27}}},
{Region: "Romania", Group: "NoSpy UDP Europe", IPs: []net.IP{{85, 9, 20, 132}, {85, 9, 20, 133}, {85, 9, 20, 134}, {85, 9, 20, 139}, {85, 9, 20, 144}, {85, 9, 20, 145}, {85, 9, 20, 147}, {85, 9, 20, 148}, {85, 9, 20, 154}, {85, 9, 20, 249}}},
{Region: "Romania", Group: "Premium TCP Europe", IPs: []net.IP{{193, 176, 84, 43}, {193, 176, 84, 45}, {193, 176, 84, 47}, {193, 176, 84, 52}, {193, 176, 84, 120}, {193, 176, 85, 79}, {193, 176, 85, 91}, {193, 176, 85, 99}, {193, 176, 85, 105}, {193, 176, 85, 116}}},
{Region: "Romania", Group: "NoSpy TCP Europe", IPs: []net.IP{{85, 9, 20, 132}, {85, 9, 20, 134}, {85, 9, 20, 137}, {85, 9, 20, 148}, {85, 9, 20, 149}, {85, 9, 20, 150}, {85, 9, 20, 151}, {85, 9, 20, 155}, {85, 9, 20, 248}, {85, 9, 20, 249}}},
{Region: "Romania", Group: "Premium UDP Europe", IPs: []net.IP{{193, 176, 84, 84}, {193, 176, 84, 124}, {193, 176, 84, 126}, {193, 176, 85, 68}, {193, 176, 85, 72}, {193, 176, 85, 81}, {193, 176, 85, 85}, {193, 176, 85, 104}, {193, 176, 85, 108}, {193, 176, 85, 116}}},
{Region: "Russian Federation", Group: "Premium UDP Europe", IPs: []net.IP{{45, 132, 192, 6}, {45, 132, 192, 16}, {45, 132, 192, 28}, {45, 132, 192, 46}, {45, 132, 192, 52}, {45, 132, 192, 57}, {45, 132, 192, 70}, {45, 132, 192, 71}, {45, 132, 192, 76}, {45, 132, 192, 92}}},
{Region: "Russian Federation", Group: "Premium TCP Europe", IPs: []net.IP{{45, 132, 192, 9}, {45, 132, 192, 11}, {45, 132, 192, 22}, {45, 132, 192, 36}, {45, 132, 192, 39}, {45, 132, 192, 44}, {45, 132, 192, 51}, {45, 132, 192, 74}, {45, 132, 192, 79}, {45, 132, 192, 92}}},
{Region: "Saudi Arabia", Group: "Premium TCP Europe", IPs: []net.IP{{45, 131, 6, 6}, {45, 131, 6, 7}, {45, 131, 6, 8}, {45, 131, 6, 15}, {45, 131, 6, 16}, {45, 131, 6, 18}, {45, 131, 6, 19}, {45, 131, 6, 22}, {45, 131, 6, 28}, {45, 131, 6, 29}}},
{Region: "Saudi Arabia", Group: "Premium UDP Europe", IPs: []net.IP{{45, 131, 6, 10}, {45, 131, 6, 11}, {45, 131, 6, 13}, {45, 131, 6, 14}, {45, 131, 6, 16}, {45, 131, 6, 17}, {45, 131, 6, 24}, {45, 131, 6, 25}, {45, 131, 6, 27}, {45, 131, 6, 28}}},
{Region: "Serbia", Group: "Premium TCP Europe", IPs: []net.IP{{37, 120, 193, 180}, {37, 120, 193, 181}, {37, 120, 193, 183}, {37, 120, 193, 184}, {37, 120, 193, 186}, {37, 120, 193, 187}, {141, 98, 103, 36}, {141, 98, 103, 38}, {141, 98, 103, 40}, {141, 98, 103, 46}}},
{Region: "Serbia", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 193, 181}, {37, 120, 193, 182}, {37, 120, 193, 183}, {37, 120, 193, 187}, {37, 120, 193, 189}, {141, 98, 103, 35}, {141, 98, 103, 36}, {141, 98, 103, 38}, {141, 98, 103, 44}, {141, 98, 103, 45}}},
{Region: "Singapore", Group: "Premium UDP Asia", IPs: []net.IP{{84, 17, 39, 162}, {84, 17, 39, 164}, {84, 17, 39, 166}, {84, 17, 39, 167}, {84, 17, 39, 169}, {84, 17, 39, 170}, {84, 17, 39, 174}, {84, 17, 39, 177}, {84, 17, 39, 179}, {84, 17, 39, 182}}},
{Region: "Singapore", Group: "Premium TCP Asia", IPs: []net.IP{{84, 17, 39, 163}, {84, 17, 39, 164}, {84, 17, 39, 165}, {84, 17, 39, 168}, {84, 17, 39, 170}, {84, 17, 39, 173}, {84, 17, 39, 177}, {84, 17, 39, 179}, {84, 17, 39, 181}, {84, 17, 39, 184}}},
{Region: "Slovakia", Group: "Premium UDP Europe", IPs: []net.IP{{185, 245, 85, 227}, {185, 245, 85, 228}, {185, 245, 85, 229}, {185, 245, 85, 230}, {185, 245, 85, 231}, {185, 245, 85, 232}, {185, 245, 85, 233}, {185, 245, 85, 234}, {185, 245, 85, 235}, {185, 245, 85, 236}}},
{Region: "Slovenia", Group: "Premium TCP Europe", IPs: []net.IP{{146, 247, 25, 79}, {146, 247, 25, 80}, {146, 247, 25, 81}, {146, 247, 25, 82}, {146, 247, 25, 83}, {146, 247, 25, 84}, {146, 247, 25, 85}, {146, 247, 25, 86}, {146, 247, 25, 88}, {146, 247, 25, 89}}},
{Region: "Slovenia", Group: "Premium UDP Europe", IPs: []net.IP{{146, 247, 25, 79}, {146, 247, 25, 80}, {146, 247, 25, 81}, {146, 247, 25, 82}, {146, 247, 25, 83}, {146, 247, 25, 84}, {146, 247, 25, 86}, {146, 247, 25, 88}, {146, 247, 25, 89}, {146, 247, 25, 90}}},
{Region: "Slovakia", Group: "Premium TCP Europe", IPs: []net.IP{{185, 245, 85, 227}, {185, 245, 85, 228}, {185, 245, 85, 229}, {185, 245, 85, 230}, {185, 245, 85, 231}, {185, 245, 85, 232}, {185, 245, 85, 233}, {185, 245, 85, 234}, {185, 245, 85, 235}, {185, 245, 85, 236}}},
{Region: "Slovenia", Group: "Premium UDP Europe", IPs: []net.IP{{146, 247, 25, 79}, {146, 247, 25, 80}, {146, 247, 25, 82}, {146, 247, 25, 83}, {146, 247, 25, 85}, {146, 247, 25, 86}, {146, 247, 25, 87}, {146, 247, 25, 88}, {146, 247, 25, 89}, {146, 247, 25, 90}}},
{Region: "Slovenia", Group: "Premium TCP Europe", IPs: []net.IP{{146, 247, 25, 79}, {146, 247, 25, 80}, {146, 247, 25, 81}, {146, 247, 25, 82}, {146, 247, 25, 83}, {146, 247, 25, 84}, {146, 247, 25, 85}, {146, 247, 25, 86}, {146, 247, 25, 87}, {146, 247, 25, 88}}},
{Region: "South Africa", Group: "Premium UDP Europe", IPs: []net.IP{{197, 85, 7, 26}, {197, 85, 7, 27}, {197, 85, 7, 28}, {197, 85, 7, 29}, {197, 85, 7, 30}, {197, 85, 7, 31}, {197, 85, 7, 131}, {197, 85, 7, 132}, {197, 85, 7, 133}, {197, 85, 7, 134}}},
{Region: "South Africa", Group: "Premium UDP Asia", IPs: []net.IP{{165, 73, 248, 211}, {165, 73, 248, 213}, {165, 73, 248, 215}, {165, 73, 248, 219}, {165, 73, 248, 221}, {165, 73, 248, 228}, {165, 73, 248, 231}, {165, 73, 248, 232}, {165, 73, 248, 235}, {165, 73, 248, 237}}},
{Region: "South Africa", Group: "Premium UDP Asia", IPs: []net.IP{{165, 73, 248, 214}, {165, 73, 248, 215}, {165, 73, 248, 216}, {165, 73, 248, 220}, {165, 73, 248, 221}, {165, 73, 248, 222}, {165, 73, 248, 229}, {165, 73, 248, 230}, {165, 73, 248, 232}, {165, 73, 248, 234}}},
{Region: "South Africa", Group: "Premium TCP Asia", IPs: []net.IP{{165, 73, 248, 211}, {165, 73, 248, 212}, {165, 73, 248, 216}, {165, 73, 248, 219}, {165, 73, 248, 227}, {165, 73, 248, 230}, {165, 73, 248, 232}, {165, 73, 248, 233}, {165, 73, 248, 234}, {165, 73, 248, 235}}},
{Region: "South Africa", Group: "Premium TCP Europe", IPs: []net.IP{{197, 85, 7, 26}, {197, 85, 7, 27}, {197, 85, 7, 28}, {197, 85, 7, 29}, {197, 85, 7, 30}, {197, 85, 7, 31}, {197, 85, 7, 131}, {197, 85, 7, 132}, {197, 85, 7, 133}, {197, 85, 7, 134}}},
{Region: "South Africa", Group: "Premium TCP Asia", IPs: []net.IP{{165, 73, 248, 214}, {165, 73, 248, 215}, {165, 73, 248, 216}, {165, 73, 248, 218}, {165, 73, 248, 219}, {165, 73, 248, 221}, {165, 73, 248, 229}, {165, 73, 248, 235}, {165, 73, 248, 236}, {165, 73, 248, 238}}},
{Region: "Spain", Group: "Premium TCP Europe", IPs: []net.IP{{82, 102, 26, 204}, {82, 102, 26, 205}, {84, 17, 62, 130}, {84, 17, 62, 131}, {84, 17, 62, 140}, {84, 17, 62, 147}, {185, 93, 3, 109}, {185, 93, 3, 110}, {185, 93, 3, 112}, {185, 253, 99, 205}}},
{Region: "Spain", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 142, 54}, {37, 120, 142, 55}, {37, 120, 142, 58}, {37, 120, 142, 150}, {82, 102, 26, 196}, {82, 102, 26, 218}, {84, 17, 62, 138}, {185, 93, 3, 106}, {185, 93, 182, 139}, {185, 253, 99, 202}}},
{Region: "Sri Lanka", Group: "Premium UDP Europe", IPs: []net.IP{{95, 181, 239, 131}, {95, 181, 239, 134}, {95, 181, 239, 136}, {95, 181, 239, 137}, {95, 181, 239, 138}, {95, 181, 239, 139}, {95, 181, 239, 140}, {95, 181, 239, 141}, {95, 181, 239, 142}, {95, 181, 239, 143}}},
{Region: "Sri Lanka", Group: "Premium TCP Europe", IPs: []net.IP{{95, 181, 239, 131}, {95, 181, 239, 133}, {95, 181, 239, 134}, {95, 181, 239, 135}, {95, 181, 239, 136}, {95, 181, 239, 137}, {95, 181, 239, 140}, {95, 181, 239, 141}, {95, 181, 239, 143}, {95, 181, 239, 144}}},
{Region: "Sweden", Group: "Premium UDP Europe", IPs: []net.IP{{188, 126, 73, 202}, {188, 126, 73, 209}, {188, 126, 73, 215}, {188, 126, 73, 221}, {195, 246, 120, 150}, {195, 246, 120, 156}, {195, 246, 120, 160}, {195, 246, 120, 169}, {195, 246, 120, 170}, {195, 246, 120, 173}}},
{Region: "Sweden", Group: "Premium TCP Europe", IPs: []net.IP{{188, 126, 73, 204}, {188, 126, 73, 214}, {188, 126, 73, 218}, {188, 126, 73, 221}, {195, 246, 120, 145}, {195, 246, 120, 149}, {195, 246, 120, 151}, {195, 246, 120, 154}, {195, 246, 120, 171}, {195, 246, 120, 179}}},
{Region: "Switzerland", Group: "Premium TCP Europe", IPs: []net.IP{{84, 17, 52, 11}, {84, 17, 52, 12}, {84, 17, 52, 22}, {84, 17, 52, 49}, {84, 17, 52, 55}, {84, 17, 52, 62}, {84, 17, 52, 85}, {185, 32, 222, 13}, {185, 189, 150, 61}, {185, 189, 150, 73}}},
{Region: "Switzerland", Group: "Premium UDP Europe", IPs: []net.IP{{84, 17, 52, 20}, {84, 17, 52, 33}, {84, 17, 52, 38}, {84, 17, 52, 51}, {84, 17, 52, 69}, {84, 17, 52, 74}, {185, 32, 222, 16}, {185, 32, 222, 118}, {185, 32, 222, 120}, {195, 225, 118, 52}}},
{Region: "Taiwan", Group: "Premium TCP Asia", IPs: []net.IP{{45, 133, 181, 102}, {45, 133, 181, 103}, {45, 133, 181, 106}, {45, 133, 181, 108}, {45, 133, 181, 109}, {45, 133, 181, 110}, {45, 133, 181, 112}, {45, 133, 181, 116}, {45, 133, 181, 120}, {45, 133, 181, 123}}},
{Region: "Taiwan", Group: "Premium UDP Asia", IPs: []net.IP{{45, 133, 181, 99}, {45, 133, 181, 101}, {45, 133, 181, 105}, {45, 133, 181, 110}, {45, 133, 181, 111}, {45, 133, 181, 114}, {45, 133, 181, 116}, {45, 133, 181, 117}, {45, 133, 181, 121}, {45, 133, 181, 123}}},
{Region: "Thailand", Group: "Premium UDP Asia", IPs: []net.IP{{119, 59, 121, 163}, {119, 59, 121, 165}, {119, 59, 121, 166}, {119, 59, 121, 167}, {119, 59, 121, 168}, {119, 59, 121, 169}, {119, 59, 121, 170}, {119, 59, 121, 172}, {119, 59, 121, 173}, {119, 59, 121, 175}}},
{Region: "Thailand", Group: "Premium TCP Asia", IPs: []net.IP{{119, 59, 98, 213}, {119, 59, 98, 244}, {119, 59, 121, 163}, {119, 59, 121, 164}, {119, 59, 121, 166}, {119, 59, 121, 169}, {119, 59, 121, 170}, {119, 59, 121, 171}, {119, 59, 121, 172}, {119, 59, 121, 175}}},
{Region: "Turkey", Group: "Premium TCP Europe", IPs: []net.IP{{188, 213, 34, 3}, {188, 213, 34, 6}, {188, 213, 34, 10}, {188, 213, 34, 19}, {188, 213, 34, 24}, {188, 213, 34, 28}, {188, 213, 34, 37}, {188, 213, 34, 43}, {188, 213, 34, 104}, {188, 213, 34, 109}}},
{Region: "Turkey", Group: "Premium UDP Europe", IPs: []net.IP{{188, 213, 34, 14}, {188, 213, 34, 22}, {188, 213, 34, 26}, {188, 213, 34, 27}, {188, 213, 34, 30}, {188, 213, 34, 39}, {188, 213, 34, 42}, {188, 213, 34, 43}, {188, 213, 34, 100}, {188, 213, 34, 106}}},
{Region: "Ukraine", Group: "Premium TCP Europe", IPs: []net.IP{{31, 28, 161, 21}, {31, 28, 163, 40}, {31, 28, 163, 43}, {31, 28, 163, 50}, {62, 149, 7, 165}, {62, 149, 7, 166}, {62, 149, 7, 173}, {62, 149, 29, 36}, {62, 149, 29, 48}, {62, 149, 29, 56}}},
{Region: "Ukraine", Group: "Premium UDP Europe", IPs: []net.IP{{31, 28, 161, 20}, {31, 28, 163, 35}, {31, 28, 163, 40}, {31, 28, 163, 42}, {31, 28, 163, 52}, {31, 28, 163, 55}, {62, 149, 7, 172}, {62, 149, 7, 173}, {62, 149, 29, 37}, {62, 149, 29, 58}}},
{Region: "United Arab Emirates", Group: "Premium TCP Europe", IPs: []net.IP{{217, 138, 193, 179}, {217, 138, 193, 180}, {217, 138, 193, 182}, {217, 138, 193, 184}, {217, 138, 193, 185}, {217, 138, 193, 186}, {217, 138, 193, 187}, {217, 138, 193, 188}, {217, 138, 193, 189}, {217, 138, 193, 190}}},
{Region: "United Arab Emirates", Group: "Premium UDP Europe", IPs: []net.IP{{217, 138, 193, 179}, {217, 138, 193, 180}, {217, 138, 193, 182}, {217, 138, 193, 183}, {217, 138, 193, 184}, {217, 138, 193, 185}, {217, 138, 193, 186}, {217, 138, 193, 187}, {217, 138, 193, 188}, {217, 138, 193, 189}}},
{Region: "United Kingdom", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 159, 101}, {37, 235, 96, 9}, {81, 92, 206, 164}, {81, 92, 206, 169}, {84, 17, 51, 97}, {84, 17, 51, 123}, {89, 238, 167, 85}, {89, 238, 167, 91}, {109, 169, 14, 97}, {141, 98, 100, 73}}},
{Region: "United Kingdom", Group: "Premium TCP Europe", IPs: []net.IP{{37, 120, 133, 165}, {37, 120, 159, 81}, {37, 235, 96, 9}, {84, 17, 51, 44}, {84, 17, 51, 107}, {89, 238, 167, 39}, {89, 238, 167, 54}, {143, 244, 39, 135}, {143, 244, 39, 221}, {143, 244, 39, 232}}},
{Region: "United States", Group: "Premium UDP USA", IPs: []net.IP{{23, 105, 161, 116}, {143, 244, 51, 84}, {156, 146, 37, 43}, {156, 146, 37, 73}, {156, 146, 37, 100}, {156, 146, 37, 103}, {156, 146, 51, 20}, {156, 146, 51, 103}, {156, 146, 51, 128}, {156, 146, 59, 172}}},
{Region: "United States", Group: "Premium TCP USA", IPs: []net.IP{{89, 187, 171, 139}, {89, 187, 171, 161}, {89, 187, 182, 38}, {143, 244, 51, 111}, {156, 146, 37, 101}, {156, 146, 37, 123}, {156, 146, 49, 133}, {156, 146, 51, 103}, {156, 146, 51, 146}, {185, 242, 5, 115}}},
{Region: "Venezuela", Group: "Premium TCP USA", IPs: []net.IP{{95, 181, 237, 131}, {95, 181, 237, 134}, {95, 181, 237, 136}, {95, 181, 237, 137}, {95, 181, 237, 138}, {95, 181, 237, 139}, {95, 181, 237, 140}, {95, 181, 237, 141}, {95, 181, 237, 142}, {95, 181, 237, 143}}},
{Region: "Venezuela", Group: "Premium UDP USA", IPs: []net.IP{{95, 181, 237, 131}, {95, 181, 237, 132}, {95, 181, 237, 135}, {95, 181, 237, 136}, {95, 181, 237, 137}, {95, 181, 237, 138}, {95, 181, 237, 140}, {95, 181, 237, 142}, {95, 181, 237, 143}, {95, 181, 237, 144}}},
{Region: "Vietnam", Group: "Premium TCP Asia", IPs: []net.IP{{188, 214, 152, 99}, {188, 214, 152, 100}, {188, 214, 152, 101}, {188, 214, 152, 102}, {188, 214, 152, 103}, {188, 214, 152, 105}, {188, 214, 152, 106}, {188, 214, 152, 107}, {188, 214, 152, 108}, {188, 214, 152, 110}}},
{Region: "Vietnam", Group: "Premium UDP Asia", IPs: []net.IP{{188, 214, 152, 99}, {188, 214, 152, 100}, {188, 214, 152, 102}, {188, 214, 152, 103}, {188, 214, 152, 104}, {188, 214, 152, 105}, {188, 214, 152, 106}, {188, 214, 152, 108}, {188, 214, 152, 109}, {188, 214, 152, 110}}},
{Region: "Spain", Group: "Premium UDP Europe", IPs: []net.IP{{37, 120, 142, 147}, {37, 120, 142, 155}, {37, 120, 142, 167}, {37, 120, 142, 169}, {37, 120, 142, 170}, {84, 17, 62, 131}, {84, 17, 62, 142}, {84, 17, 62, 145}, {84, 17, 62, 147}, {185, 93, 3, 113}}},
{Region: "Spain", Group: "Premium TCP Europe", IPs: []net.IP{{84, 17, 62, 133}, {84, 17, 62, 141}, {84, 17, 62, 142}, {185, 93, 3, 105}, {185, 93, 3, 109}, {185, 93, 3, 111}, {185, 93, 182, 133}, {185, 93, 182, 136}, {185, 93, 182, 140}, {185, 93, 182, 141}}},
{Region: "Sri Lanka", Group: "Premium UDP Europe", IPs: []net.IP{{45, 132, 136, 7}, {45, 132, 136, 9}, {45, 132, 136, 11}, {45, 132, 136, 13}, {45, 132, 136, 16}, {45, 132, 136, 17}, {45, 132, 136, 20}, {45, 132, 136, 23}, {45, 132, 136, 26}, {45, 132, 136, 29}}},
{Region: "Sri Lanka", Group: "Premium TCP Europe", IPs: []net.IP{{45, 132, 136, 7}, {45, 132, 136, 9}, {45, 132, 136, 10}, {45, 132, 136, 11}, {45, 132, 136, 13}, {45, 132, 136, 17}, {45, 132, 136, 22}, {45, 132, 136, 25}, {45, 132, 136, 26}, {45, 132, 136, 29}}},
{Region: "Sweden", Group: "Premium TCP Europe", IPs: []net.IP{{46, 246, 65, 137}, {46, 246, 65, 139}, {46, 246, 65, 218}, {91, 132, 138, 60}, {188, 126, 64, 105}, {188, 126, 66, 10}, {188, 126, 66, 14}, {188, 126, 66, 29}, {188, 126, 73, 207}, {188, 126, 73, 209}}},
{Region: "Sweden", Group: "Premium UDP Europe", IPs: []net.IP{{46, 246, 65, 131}, {46, 246, 65, 140}, {46, 246, 65, 170}, {46, 246, 65, 189}, {46, 246, 65, 200}, {46, 246, 65, 203}, {46, 246, 65, 212}, {91, 132, 138, 52}, {188, 126, 73, 199}, {188, 126, 73, 220}}},
{Region: "Switzerland", Group: "Premium UDP Europe", IPs: []net.IP{{84, 17, 52, 10}, {84, 17, 52, 14}, {84, 17, 52, 17}, {84, 17, 52, 21}, {185, 32, 222, 17}, {185, 32, 222, 18}, {185, 32, 222, 111}, {195, 225, 118, 45}, {195, 225, 118, 58}, {195, 225, 118, 61}}},
{Region: "Switzerland", Group: "Premium TCP Europe", IPs: []net.IP{{84, 17, 52, 5}, {84, 17, 52, 33}, {84, 17, 52, 45}, {84, 17, 52, 62}, {84, 17, 52, 69}, {84, 17, 52, 80}, {91, 132, 136, 171}, {185, 32, 222, 13}, {195, 225, 118, 44}, {195, 225, 118, 52}}},
{Region: "Taiwan", Group: "Premium UDP Asia", IPs: []net.IP{{45, 133, 181, 100}, {45, 133, 181, 104}, {45, 133, 181, 106}, {45, 133, 181, 109}, {45, 133, 181, 110}, {45, 133, 181, 114}, {45, 133, 181, 117}, {45, 133, 181, 119}, {45, 133, 181, 124}, {45, 133, 181, 125}}},
{Region: "Taiwan", Group: "Premium TCP Asia", IPs: []net.IP{{45, 133, 181, 99}, {45, 133, 181, 103}, {45, 133, 181, 104}, {45, 133, 181, 105}, {45, 133, 181, 107}, {45, 133, 181, 110}, {45, 133, 181, 112}, {45, 133, 181, 113}, {45, 133, 181, 116}, {45, 133, 181, 123}}},
{Region: "Thailand", Group: "Premium TCP Asia", IPs: []net.IP{{119, 59, 98, 214}, {119, 59, 98, 239}, {119, 59, 98, 240}, {119, 59, 98, 244}, {119, 59, 121, 162}, {119, 59, 121, 168}, {119, 59, 121, 169}, {119, 59, 121, 170}, {119, 59, 121, 171}, {119, 59, 121, 173}}},
{Region: "Thailand", Group: "Premium UDP Asia", IPs: []net.IP{{119, 59, 98, 238}, {119, 59, 98, 240}, {119, 59, 98, 244}, {119, 59, 98, 249}, {119, 59, 121, 166}, {119, 59, 121, 167}, {119, 59, 121, 168}, {119, 59, 121, 170}, {119, 59, 121, 172}, {119, 59, 121, 175}}},
{Region: "Turkey", Group: "Premium UDP Europe", IPs: []net.IP{{188, 213, 34, 5}, {188, 213, 34, 9}, {188, 213, 34, 14}, {188, 213, 34, 30}, {188, 213, 34, 35}, {188, 213, 34, 39}, {188, 213, 34, 42}, {188, 213, 34, 45}, {188, 213, 34, 103}, {188, 213, 34, 110}}},
{Region: "Turkey", Group: "Premium TCP Europe", IPs: []net.IP{{188, 213, 34, 10}, {188, 213, 34, 12}, {188, 213, 34, 25}, {188, 213, 34, 30}, {188, 213, 34, 36}, {188, 213, 34, 42}, {188, 213, 34, 102}, {188, 213, 34, 103}, {188, 213, 34, 104}, {188, 213, 34, 110}}},
{Region: "Ukraine", Group: "Premium TCP Europe", IPs: []net.IP{{31, 28, 161, 20}, {31, 28, 163, 40}, {31, 28, 163, 51}, {62, 149, 7, 168}, {62, 149, 29, 35}, {62, 149, 29, 40}, {62, 149, 29, 41}, {62, 149, 29, 48}, {62, 149, 29, 52}, {62, 149, 29, 56}}},
{Region: "Ukraine", Group: "Premium UDP Europe", IPs: []net.IP{{31, 28, 163, 35}, {31, 28, 163, 45}, {31, 28, 163, 51}, {31, 28, 163, 55}, {62, 149, 7, 167}, {62, 149, 29, 38}, {62, 149, 29, 40}, {62, 149, 29, 46}, {62, 149, 29, 47}, {62, 149, 29, 50}}},
{Region: "United Arab Emirates", Group: "Premium TCP Europe", IPs: []net.IP{{45, 131, 5, 6}, {45, 131, 5, 12}, {45, 131, 5, 13}, {45, 131, 5, 15}, {45, 131, 5, 17}, {45, 131, 5, 21}, {45, 131, 5, 22}, {45, 131, 5, 24}, {45, 131, 5, 28}, {45, 131, 5, 29}}},
{Region: "United Arab Emirates", Group: "Premium UDP Europe", IPs: []net.IP{{45, 131, 5, 6}, {45, 131, 5, 7}, {45, 131, 5, 10}, {45, 131, 5, 11}, {45, 131, 5, 12}, {45, 131, 5, 14}, {45, 131, 5, 17}, {45, 131, 5, 24}, {45, 131, 5, 26}, {45, 131, 5, 27}}},
{Region: "United Kingdom", Group: "Premium UDP Europe", IPs: []net.IP{{84, 17, 51, 18}, {84, 17, 51, 62}, {89, 238, 138, 245}, {89, 238, 167, 46}, {89, 238, 167, 56}, {95, 154, 200, 153}, {95, 154, 200, 155}, {95, 154, 200, 187}, {95, 154, 200, 188}, {141, 98, 100, 73}}},
{Region: "United Kingdom", Group: "Premium TCP Europe", IPs: []net.IP{{37, 120, 133, 165}, {84, 17, 51, 32}, {84, 17, 51, 106}, {84, 17, 51, 124}, {89, 238, 167, 45}, {95, 154, 200, 147}, {95, 154, 200, 165}, {95, 154, 200, 172}, {95, 154, 200, 179}, {141, 98, 100, 59}}},
{Region: "United States", Group: "Premium TCP USA", IPs: []net.IP{{23, 105, 191, 33}, {23, 106, 83, 26}, {37, 120, 157, 131}, {45, 89, 173, 221}, {84, 17, 40, 70}, {89, 187, 182, 6}, {91, 132, 137, 86}, {173, 234, 158, 179}, {173, 234, 158, 184}, {185, 250, 220, 39}}},
{Region: "United States", Group: "Premium UDP USA", IPs: []net.IP{{89, 187, 171, 143}, {108, 62, 235, 183}, {143, 244, 51, 169}, {156, 146, 37, 29}, {156, 146, 37, 106}, {156, 146, 37, 120}, {172, 255, 125, 138}, {173, 208, 44, 90}, {185, 242, 5, 120}, {185, 242, 5, 249}}},
{Region: "Venezuela", Group: "Premium TCP Europe", IPs: []net.IP{{45, 133, 89, 8}, {45, 133, 89, 10}, {45, 133, 89, 12}, {45, 133, 89, 16}, {45, 133, 89, 17}, {45, 133, 89, 18}, {45, 133, 89, 20}, {45, 133, 89, 22}, {45, 133, 89, 27}, {45, 133, 89, 28}}},
{Region: "Venezuela", Group: "Premium UDP Europe", IPs: []net.IP{{45, 133, 89, 6}, {45, 133, 89, 7}, {45, 133, 89, 15}, {45, 133, 89, 16}, {45, 133, 89, 17}, {45, 133, 89, 20}, {45, 133, 89, 22}, {45, 133, 89, 26}, {45, 133, 89, 28}, {45, 133, 89, 29}}},
{Region: "Vietnam", Group: "Premium UDP Asia", IPs: []net.IP{{45, 117, 79, 114}, {45, 117, 79, 118}, {45, 117, 79, 124}, {45, 117, 79, 125}, {103, 238, 214, 131}, {103, 238, 214, 132}, {103, 238, 214, 133}, {103, 238, 214, 134}, {103, 238, 214, 135}, {103, 238, 214, 137}}},
{Region: "Vietnam", Group: "Premium TCP Asia", IPs: []net.IP{{45, 117, 79, 114}, {45, 117, 79, 116}, {45, 117, 79, 124}, {45, 117, 79, 125}, {103, 238, 214, 131}, {103, 238, 214, 132}, {103, 238, 214, 133}, {103, 238, 214, 135}, {103, 238, 214, 136}, {103, 238, 214, 140}}},
}
}

View File

@@ -66,13 +66,14 @@ func MullvadServers() []models.MullvadServer {
{Country: "Australia", City: "Sydney", ISP: "Intergrid", Owned: false, IPs: []net.IP{{43, 245, 162, 130}, {103, 77, 232, 130}, {103, 77, 232, 146}}, IPsV6: []net.IP{{0x24, 0x0, 0xfa, 0x80, 0x0, 0x1, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x24, 0x0, 0xfa, 0x80, 0x0, 0x1, 0x0, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x24, 0x0, 0xfa, 0x80, 0x0, 0x1, 0x0, 0x15, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}}},
{Country: "Australia", City: "Sydney", ISP: "M247", Owned: false, IPs: []net.IP{{89, 44, 10, 18}, {89, 44, 10, 34}, {89, 44, 10, 50}, {89, 44, 10, 194}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x84, 0x0, 0x28, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x84, 0x0, 0x29, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x84, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x84, 0x0, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}}},
{Country: "Austria", City: "Vienna", ISP: "M247", Owned: false, IPs: []net.IP{{5, 253, 207, 34}, {86, 107, 21, 210}, {86, 107, 21, 226}, {86, 107, 21, 242}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x29, 0x0, 0x39, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x2f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x29, 0x0, 0x5a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x1f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x29, 0x0, 0x5b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x3f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x29, 0x0, 0x5c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x4f}}},
{Country: "Belgium", City: "Brussels", ISP: "M247", Owned: false, IPs: []net.IP{{37, 120, 143, 138}, {37, 120, 218, 138}, {37, 120, 218, 146}, {91, 207, 57, 50}, {185, 104, 186, 202}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x27, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x27, 0x0, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x27, 0x0, 0x32, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x27, 0x0, 0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x27, 0x0, 0x55, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}}},
{Country: "Belgium", City: "Brussels", ISP: "M247", Owned: false, IPs: []net.IP{{37, 120, 143, 138}, {37, 120, 218, 138}, {37, 120, 218, 146}, {91, 207, 57, 50}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x27, 0x0, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x27, 0x0, 0x32, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x27, 0x0, 0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x27, 0x0, 0x55, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}}},
{Country: "Brazil", City: "Sao Paulo", ISP: "Heficed", Owned: false, IPs: []net.IP{{191, 101, 62, 178}}, IPsV6: []net.IP{{0x28, 0x3, 0x0, 0x80, 0x80, 0x3, 0x80, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}}},
{Country: "Brazil", City: "Sao Paulo", ISP: "Qnax", Owned: false, IPs: []net.IP{{177, 67, 80, 186}}, IPsV6: []net.IP{{0x28, 0x4, 0x53, 0x64, 0x21, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "Bulgaria", City: "Sofia", ISP: "M247", Owned: false, IPs: []net.IP{{37, 120, 152, 114}, {37, 120, 152, 146}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x30, 0x0, 0x19, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x30, 0x0, 0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "Canada", City: "Montreal", ISP: "M247", Owned: false, IPs: []net.IP{{89, 36, 78, 18}, {89, 36, 78, 34}, {89, 36, 78, 50}, {89, 36, 78, 66}, {89, 36, 78, 82}, {89, 36, 78, 98}, {89, 36, 78, 114}, {89, 36, 78, 130}}, IPsV6: []net.IP{{0x2a, 0xd, 0x56, 0x0, 0x0, 0x9, 0x0, 0xb6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x9, 0x0, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x9, 0x0, 0xb8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x9, 0x0, 0xb9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x9, 0x0, 0xba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x9, 0x0, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x9, 0x0, 0xc9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x9, 0x1, 0x61, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}}},
{Country: "Canada", City: "Toronto", ISP: "Amanah", Owned: false, IPs: []net.IP{{162, 219, 176, 250}}, IPsV6: []net.IP{{0x26, 0x6, 0x60, 0x80, 0x10, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}}},
{Country: "Canada", City: "Toronto", ISP: "Tzulo", Owned: false, IPs: []net.IP{{198, 54, 132, 34}, {198, 54, 132, 50}, {198, 54, 132, 66}}, IPsV6: []net.IP{{0x26, 0x7, 0x90, 0x0, 0x60, 0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x26, 0x7, 0x90, 0x0, 0x60, 0x0, 0x0, 0x13, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x26, 0x7, 0x90, 0x0, 0x60, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}}},
{Country: "Canada", City: "Vancouver", ISP: "100TB", Owned: false, IPs: []net.IP{{172, 83, 40, 38}}, IPsV6: []net.IP{{0x26, 0x7, 0xf7, 0xa0, 0x0, 0xd, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}}},
{Country: "Canada", City: "Vancouver", ISP: "100TB", Owned: false, IPs: []net.IP{{172, 83, 40, 34}, {172, 83, 40, 38}}, IPsV6: []net.IP{{0x26, 0x7, 0xf7, 0xa0, 0x0, 0xd, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x26, 0x7, 0xf7, 0xa0, 0x0, 0xd, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "Canada", City: "Vancouver", ISP: "Esecuredata", Owned: false, IPs: []net.IP{{71, 19, 248, 240}, {71, 19, 249, 81}}, IPsV6: []net.IP{{0x26, 0x5, 0x0, 0x80, 0x0, 0x18, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4}, {0x26, 0x5, 0x0, 0x80, 0x0, 0x19, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5}}},
{Country: "Czech Republic", City: "Prague", ISP: "M247", Owned: false, IPs: []net.IP{{185, 156, 174, 146}, {185, 156, 174, 170}, {185, 216, 35, 242}, {217, 138, 199, 74}, {217, 138, 199, 82}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x33, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x33, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x33, 0x0, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x33, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x33, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}}},
{Country: "Denmark", City: "Copenhagen", ISP: "31173", Owned: true, IPs: []net.IP{{45, 129, 56, 81}, {141, 98, 254, 71}}, IPsV6: []net.IP{{0x2a, 0x3, 0x1b, 0x20, 0x0, 0x8, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x8, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}}},
@@ -93,24 +94,24 @@ func MullvadServers() []models.MullvadServer {
{Country: "Italy", City: "Milan", ISP: "M247", Owned: false, IPs: []net.IP{{89, 40, 182, 146}, {89, 40, 182, 210}, {192, 145, 127, 98}, {192, 145, 127, 114}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x24, 0x0, 0x76, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x24, 0x0, 0x77, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x24, 0x0, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x24, 0x0, 0x79, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}}},
{Country: "Japan", City: "Tokyo", ISP: "M247", Owned: false, IPs: []net.IP{{217, 138, 252, 50}, {217, 138, 252, 162}, {217, 138, 252, 178}, {217, 138, 252, 194}, {217, 138, 252, 210}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x40, 0x0, 0xb1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x40, 0x0, 0xb2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x40, 0x0, 0xb3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x40, 0x0, 0xb4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x40, 0x0, 0xb5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}}},
{Country: "Latvia", City: "Riga", ISP: "Makonix", Owned: false, IPs: []net.IP{{31, 170, 22, 2}}, IPsV6: []net.IP{{0x2a, 0x0, 0xc, 0x68, 0x0, 0x0, 0xcb, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "Luxembourg", City: "Luxembourg", ISP: "Evoluso", Owned: false, IPs: []net.IP{{92, 223, 89, 160}, {92, 223, 89, 182}}, IPsV6: []net.IP{{0x2a, 0x3, 0x90, 0xc0, 0x0, 0x83, 0x29, 0x53, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0x3, 0x90, 0xc0, 0x0, 0x83, 0x29, 0x53, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}}},
{Country: "Luxembourg", City: "Luxembourg", ISP: "Evoluso", Owned: false, IPs: []net.IP{{92, 223, 89, 182}}, IPsV6: []net.IP{{0x2a, 0x3, 0x90, 0xc0, 0x0, 0x83, 0x29, 0x53, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}}},
{Country: "Moldova", City: "Chisinau", ISP: "Trabia", Owned: false, IPs: []net.IP{{178, 175, 142, 194}}, IPsV6: []net.IP{{0x2a, 0x0, 0x1d, 0xc0, 0x29, 0x25, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "Netherlands", City: "Amsterdam", ISP: "31173", Owned: true, IPs: []net.IP{{185, 65, 134, 131}, {185, 65, 134, 132}, {185, 65, 134, 133}, {185, 65, 134, 134}, {185, 65, 134, 135}, {185, 65, 134, 136}, {185, 65, 134, 139}, {185, 65, 134, 140}, {185, 65, 134, 141}, {185, 65, 134, 142}, {185, 65, 134, 143}, {185, 65, 134, 144}, {185, 65, 134, 145}, {185, 65, 134, 146}, {185, 65, 134, 147}, {185, 65, 134, 148}}, IPsV6: []net.IP{{0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x4f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x7f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x3, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8f}}},
{Country: "New Zealand", City: "Auckland", ISP: "Intergrid", Owned: false, IPs: []net.IP{{103, 231, 91, 114}}, IPsV6: []net.IP{{0x24, 0x0, 0xfa, 0x80, 0x0, 0x4, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "Norway", City: "Oslo", ISP: "Blix", Owned: true, IPs: []net.IP{{91, 90, 44, 11}, {91, 90, 44, 12}, {91, 90, 44, 13}, {91, 90, 44, 14}, {91, 90, 44, 15}, {91, 90, 44, 16}, {91, 90, 44, 17}, {91, 90, 44, 18}}, IPsV6: []net.IP{{0x2a, 0x2, 0x20, 0xc8, 0x41, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0x2, 0x20, 0xc8, 0x41, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0x2, 0x20, 0xc8, 0x41, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0x2, 0x20, 0xc8, 0x41, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0x2, 0x20, 0xc8, 0x41, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0x2, 0x20, 0xc8, 0x41, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0x2, 0x20, 0xc8, 0x41, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}, {0x2a, 0x2, 0x20, 0xc8, 0x41, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}}},
{Country: "Poland", City: "Warsaw", ISP: "M247", Owned: false, IPs: []net.IP{{37, 120, 156, 162}, {37, 120, 211, 186}, {37, 120, 211, 194}, {37, 120, 211, 202}, {185, 244, 214, 210}, {185, 244, 214, 215}}, IPsV6: []net.IP{{0x2a, 0xd, 0x56, 0x0, 0x0, 0x13, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x13, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x13, 0x0, 0x39, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x13, 0x0, 0x3a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x13, 0x0, 0x3b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x13, 0xb, 0xb1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "Romania", City: "Bucharest", ISP: "M247", Owned: false, IPs: []net.IP{{185, 163, 110, 66}, {185, 163, 110, 98}}, IPsV6: []net.IP{{0x2a, 0x4, 0x9d, 0xc0, 0x0, 0x0, 0x0, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x1f}, {0x2a, 0x4, 0x9d, 0xc0, 0x0, 0x0, 0x0, 0x92, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x3f}}},
{Country: "Romania", City: "Bucharest", ISP: "M247", Owned: false, IPs: []net.IP{{185, 163, 110, 66}, {185, 163, 110, 82}, {185, 163, 110, 98}, {185, 163, 110, 114}}, IPsV6: []net.IP{{0x2a, 0x4, 0x9d, 0xc0, 0x0, 0x0, 0x0, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x1f}, {0x2a, 0x4, 0x9d, 0xc0, 0x0, 0x0, 0x0, 0x91, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x2f}, {0x2a, 0x4, 0x9d, 0xc0, 0x0, 0x0, 0x0, 0x92, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x3f}, {0x2a, 0x4, 0x9d, 0xc0, 0x0, 0x0, 0x0, 0x93, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x4f}}},
{Country: "Serbia", City: "Belgrade", ISP: "M247", Owned: false, IPs: []net.IP{{89, 38, 224, 98}, {89, 38, 224, 114}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x7d, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x7d, 0x0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}}},
{Country: "Serbia", City: "Nis", ISP: "ninet", Owned: false, IPs: []net.IP{{176, 104, 107, 118}}, IPsV6: []net.IP{{0x2a, 0x6, 0x1, 0x85, 0x0, 0x1, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "Singapore", City: "Singapore", ISP: "M247", Owned: false, IPs: []net.IP{{89, 38, 225, 34}, {94, 198, 43, 2}, {94, 198, 43, 18}}, IPsV6: []net.IP{{0x2a, 0xa, 0xb6, 0x40, 0x0, 0x1, 0x0, 0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0xa, 0xb6, 0x40, 0x0, 0x1, 0x0, 0x55, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0xa, 0xb6, 0x40, 0x0, 0x1, 0x0, 0x56, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}}},
{Country: "Spain", City: "Madrid", ISP: "M247", Owned: false, IPs: []net.IP{{45, 152, 183, 26}, {45, 152, 183, 42}, {89, 238, 178, 34}, {89, 238, 178, 74}, {195, 206, 107, 146}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x23, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x23, 0x0, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf2}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x23, 0x0, 0x2a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x23, 0x0, 0x58, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x23, 0x0, 0x59, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}}},
{Country: "Sweden", City: "Gothenburg", ISP: "31173", Owned: true, IPs: []net.IP{{185, 213, 154, 131}, {185, 213, 154, 132}, {185, 213, 154, 133}, {185, 213, 154, 134}, {185, 213, 154, 135}, {185, 213, 154, 136}, {185, 213, 154, 137}, {185, 213, 154, 138}, {185, 213, 154, 139}, {185, 213, 154, 140}, {185, 213, 154, 141}, {185, 213, 154, 142}}, IPsV6: []net.IP{{0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x5, 0xf0, 0x11, 0x0, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}}},
{Country: "Sweden", City: "Helsingborg", ISP: "31173", Owned: true, IPs: []net.IP{{185, 213, 152, 131}, {185, 213, 152, 132}}, IPsV6: []net.IP{{0x2a, 0x3, 0x1b, 0x20, 0x0, 0x2, 0xf7, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x2, 0xf7, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}}},
{Country: "Sweden", City: "Malmö", ISP: "31173", Owned: true, IPs: []net.IP{{45, 83, 220, 87}, {45, 83, 220, 88}, {45, 83, 220, 89}, {45, 83, 220, 90}, {45, 83, 220, 91}, {45, 83, 220, 92}, {45, 83, 220, 93}, {141, 98, 255, 83}, {141, 98, 255, 84}, {141, 98, 255, 85}, {141, 98, 255, 86}, {141, 98, 255, 87}, {141, 98, 255, 88}, {141, 98, 255, 89}, {141, 98, 255, 90}, {141, 98, 255, 91}, {141, 98, 255, 92}, {141, 98, 255, 93}, {141, 98, 255, 94}, {193, 138, 218, 132}, {193, 138, 218, 133}, {193, 138, 218, 134}, {193, 138, 218, 135}, {193, 138, 218, 136}, {193, 138, 218, 137}}, IPsV6: []net.IP{{0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x4f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x7f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x4f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}}},
{Country: "Sweden", City: "Malmö", ISP: "31173", Owned: true, IPs: []net.IP{{45, 83, 220, 87}, {45, 83, 220, 88}, {45, 83, 220, 89}, {45, 83, 220, 90}, {45, 83, 220, 91}, {45, 83, 220, 92}, {45, 83, 220, 93}, {141, 98, 255, 83}, {141, 98, 255, 84}, {141, 98, 255, 85}, {141, 98, 255, 86}, {141, 98, 255, 87}, {141, 98, 255, 88}, {141, 98, 255, 89}, {141, 98, 255, 90}, {141, 98, 255, 91}, {141, 98, 255, 92}, {141, 98, 255, 93}, {141, 98, 255, 94}, {193, 138, 218, 131}, {193, 138, 218, 132}, {193, 138, 218, 133}, {193, 138, 218, 134}, {193, 138, 218, 135}, {193, 138, 218, 136}, {193, 138, 218, 137}}, IPsV6: []net.IP{{0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xe0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x4f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x7f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x4f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x1, 0xf4, 0x10, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}}},
{Country: "Sweden", City: "Stockholm", ISP: "31173", Owned: true, IPs: []net.IP{{185, 65, 135, 136}, {185, 65, 135, 137}, {185, 65, 135, 138}, {185, 65, 135, 139}, {185, 65, 135, 140}, {185, 65, 135, 141}, {185, 65, 135, 142}, {185, 65, 135, 143}, {185, 65, 135, 144}, {185, 65, 135, 145}, {185, 65, 135, 146}, {185, 65, 135, 147}, {185, 65, 135, 148}, {185, 65, 135, 149}, {185, 65, 135, 150}, {185, 65, 135, 151}, {185, 65, 135, 152}, {185, 65, 135, 153}, {185, 65, 135, 154}}, IPsV6: []net.IP{{0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x4e}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x7f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x4, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x4f}}},
{Country: "Switzerland", City: "Zurich", ISP: "31173", Owned: true, IPs: []net.IP{{193, 32, 127, 81}, {193, 32, 127, 82}, {193, 32, 127, 83}, {193, 32, 127, 84}}, IPsV6: []net.IP{{0x2a, 0x3, 0x1b, 0x20, 0x0, 0xa, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0xa, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0xa, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0xa, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}}},
{Country: "Switzerland", City: "Zurich", ISP: "M247", Owned: false, IPs: []net.IP{{91, 193, 4, 2}, {91, 193, 4, 18}, {91, 193, 4, 34}, {91, 193, 4, 50}, {91, 193, 4, 66}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x28, 0x0, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x28, 0x0, 0x85, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x28, 0x0, 0x86, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x28, 0x0, 0x87, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x28, 0x0, 0x97, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "Switzerland", City: "Zurich", ISP: "PrivateLayer", Owned: false, IPs: []net.IP{{81, 17, 20, 34}, {179, 43, 128, 170}}, IPsV6: []net.IP{{0x2a, 0x2, 0x29, 0xb8, 0xdc, 0x1, 0x5, 0x97, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0x2, 0x29, 0xb8, 0xdc, 0x1, 0x18, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}}},
{Country: "Switzerland", City: "Zurich", ISP: "PrivateLayer", Owned: false, IPs: []net.IP{{179, 43, 128, 170}}, IPsV6: []net.IP{{0x2a, 0x2, 0x29, 0xb8, 0xdc, 0x1, 0x5, 0x97, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "UK", City: "London", ISP: "31173", Owned: true, IPs: []net.IP{{141, 98, 252, 131}, {141, 98, 252, 132}, {141, 98, 252, 133}, {141, 98, 252, 138}, {141, 98, 252, 139}, {141, 98, 252, 140}, {185, 195, 232, 84}, {185, 195, 232, 85}, {185, 195, 232, 86}}, IPsV6: []net.IP{{0x2a, 0x3, 0x1b, 0x20, 0x0, 0x7, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x7, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x7, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x7, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x7, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x7, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x7, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x7, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f}, {0x2a, 0x3, 0x1b, 0x20, 0x0, 0x7, 0xf0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf}}},
{Country: "UK", City: "London", ISP: "M247", Owned: false, IPs: []net.IP{{45, 87, 215, 50}, {185, 200, 118, 178}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x31, 0x2, 0x35, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x31, 0x2, 0x36, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}}},
{Country: "UK", City: "Manchester", ISP: "M247", Owned: false, IPs: []net.IP{{37, 120, 159, 164}, {89, 238, 132, 36}, {194, 37, 96, 180}, {217, 151, 98, 68}}, IPsV6: []net.IP{{0x20, 0x1, 0xa, 0xc8, 0x0, 0x21, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x21, 0x0, 0x1b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x21, 0x0, 0x34, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x20, 0x1, 0xa, 0xc8, 0x0, 0x21, 0x0, 0x45, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
@@ -123,11 +124,11 @@ func MullvadServers() []models.MullvadServer {
{Country: "USA", City: "Dallas TX", ISP: "Quadranet", Owned: false, IPs: []net.IP{{96, 44, 145, 18}, {96, 44, 147, 130}}, IPsV6: []net.IP{{0x26, 0x7, 0xfc, 0xd0, 0xda, 0x80, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8}, {0x26, 0x7, 0xfc, 0xd0, 0xda, 0x80, 0x18, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9}}},
{Country: "USA", City: "Denver CO", ISP: "Tzulo", Owned: false, IPs: []net.IP{{198, 54, 128, 66}, {198, 54, 128, 74}, {198, 54, 128, 106}}, IPsV6: []net.IP{{0x26, 0x7, 0x90, 0x0, 0x20, 0x0, 0x0, 0x17, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x26, 0x7, 0x90, 0x0, 0x20, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x26, 0x7, 0x90, 0x0, 0x20, 0x0, 0x0, 0x22, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}}},
{Country: "USA", City: "Los Angeles CA", ISP: "100TB", Owned: false, IPs: []net.IP{{104, 200, 152, 66}, {107, 181, 168, 130}}, IPsV6: []net.IP{{0x26, 0x7, 0xf7, 0xa0, 0x0, 0x3, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}, {0x26, 0x7, 0xf7, 0xa0, 0x0, 0x3, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}}},
{Country: "USA", City: "Los Angeles CA", ISP: "M247", Owned: false, IPs: []net.IP{{89, 46, 114, 15}, {89, 46, 114, 28}, {89, 46, 114, 41}, {89, 46, 114, 54}, {89, 46, 114, 67}, {89, 46, 114, 80}, {89, 46, 114, 93}, {89, 46, 114, 106}, {89, 46, 114, 119}, {89, 46, 114, 132}, {89, 46, 114, 145}, {89, 46, 114, 158}, {89, 46, 114, 171}, {89, 46, 114, 184}, {89, 46, 114, 197}, {89, 46, 114, 210}}, IPsV6: []net.IP{{0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x4f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6f}}},
{Country: "USA", City: "Los Angeles CA", ISP: "M247", Owned: false, IPs: []net.IP{{89, 46, 114, 15}, {89, 46, 114, 28}, {89, 46, 114, 41}, {89, 46, 114, 54}, {89, 46, 114, 67}, {89, 46, 114, 80}, {89, 46, 114, 93}, {89, 46, 114, 106}, {89, 46, 114, 119}, {89, 46, 114, 132}, {89, 46, 114, 145}, {89, 46, 114, 158}, {89, 46, 114, 171}, {89, 46, 114, 184}, {89, 46, 114, 197}, {89, 46, 114, 210}, {89, 46, 114, 223}}, IPsV6: []net.IP{{0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x4f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x7f}}},
{Country: "USA", City: "Los Angeles CA", ISP: "Tzulo", Owned: false, IPs: []net.IP{{198, 54, 129, 74}, {198, 54, 129, 82}}, IPsV6: []net.IP{{0x26, 0x7, 0x90, 0x0, 0x30, 0x0, 0x0, 0x17, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x26, 0x7, 0x90, 0x0, 0x30, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "USA", City: "Miami FL", ISP: "M247", Owned: false, IPs: []net.IP{{94, 198, 42, 50}, {94, 198, 42, 66}, {94, 198, 42, 82}, {94, 198, 42, 98}, {193, 27, 12, 2}, {193, 27, 12, 18}}, IPsV6: []net.IP{{0x2a, 0xd, 0x56, 0x0, 0x0, 0x6, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x6, 0x0, 0x34, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x6, 0x0, 0x35, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x6, 0x0, 0x36, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x6, 0xa, 0xd6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x6, 0xa, 0xd7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}}},
{Country: "USA", City: "New York NY", ISP: "100TB", Owned: false, IPs: []net.IP{{107, 182, 226, 206}, {107, 182, 226, 218}}, IPsV6: []net.IP{{0x26, 0x6, 0x2e, 0x0, 0x80, 0x3, 0x0, 0x13, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x26, 0x6, 0x2e, 0x0, 0x80, 0x3, 0x0, 0x13, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}}},
{Country: "USA", City: "New York NY", ISP: "M247", Owned: false, IPs: []net.IP{{86, 106, 121, 15}, {86, 106, 121, 28}, {86, 106, 121, 41}, {86, 106, 121, 54}, {86, 106, 121, 67}, {86, 106, 121, 80}, {86, 106, 121, 93}, {86, 106, 121, 106}, {86, 106, 121, 119}, {89, 46, 62, 15}, {89, 46, 62, 28}, {89, 46, 62, 41}, {89, 46, 62, 54}, {89, 46, 62, 67}, {89, 46, 62, 80}, {89, 46, 62, 93}, {89, 46, 62, 106}, {89, 46, 62, 119}}, IPsV6: []net.IP{{0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x71, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x74, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x76, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x77, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x79, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x99, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x4f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x7f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0xa1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0xa2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9f}}},
{Country: "USA", City: "New York NY", ISP: "M247", Owned: false, IPs: []net.IP{{86, 106, 121, 15}, {86, 106, 121, 28}, {86, 106, 121, 41}, {86, 106, 121, 54}, {86, 106, 121, 67}, {86, 106, 121, 80}, {86, 106, 121, 93}, {86, 106, 121, 106}, {86, 106, 121, 119}, {86, 106, 121, 132}, {89, 46, 62, 15}, {89, 46, 62, 28}, {89, 46, 62, 41}, {89, 46, 62, 54}, {89, 46, 62, 67}, {89, 46, 62, 80}, {89, 46, 62, 93}, {89, 46, 62, 106}, {89, 46, 62, 119}, {89, 46, 62, 132}}, IPsV6: []net.IP{{0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x71, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x74, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x76, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x77, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x79, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x7a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x99, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x4f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0x9f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x7f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0xa1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0xa2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9f}, {0x2a, 0xd, 0x56, 0x0, 0x0, 0x24, 0xa, 0xa3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf}}},
{Country: "USA", City: "Phoenix AZ", ISP: "100TB", Owned: false, IPs: []net.IP{{107, 152, 99, 86}}, IPsV6: []net.IP{{0x26, 0x7, 0xf7, 0xa0, 0x0, 0x5, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f}}},
{Country: "USA", City: "Phoenix AZ", ISP: "Tzulo", Owned: false, IPs: []net.IP{{198, 54, 133, 34}, {198, 54, 133, 50}, {198, 54, 133, 66}}, IPsV6: []net.IP{{0x26, 0x7, 0x90, 0x0, 0x70, 0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x1f}, {0x26, 0x7, 0x90, 0x0, 0x70, 0x0, 0x0, 0x13, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x2f}, {0x26, 0x7, 0x90, 0x0, 0x70, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x3f}}},
{Country: "USA", City: "Raleigh NC", ISP: "Tzulo", Owned: false, IPs: []net.IP{{198, 54, 130, 34}, {198, 54, 130, 50}, {198, 54, 130, 66}}, IPsV6: []net.IP{{0x26, 0x7, 0x90, 0x0, 0x40, 0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x1f}, {0x26, 0x7, 0x90, 0x0, 0x40, 0x0, 0x0, 0x13, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x2f}, {0x26, 0x7, 0x90, 0x0, 0x40, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x3f}}},

View File

@@ -24,8 +24,6 @@ func NordvpnRegionChoices() (choices []string) {
//nolint:gomnd
func NordvpnServers() []models.NordvpnServer {
return []models.NordvpnServer{
{Region: "Albania", Number: 20, TCP: true, UDP: true, IP: net.IP{31, 171, 152, 11}},
{Region: "Albania", Number: 21, TCP: true, UDP: true, IP: net.IP{31, 171, 152, 115}},
{Region: "Albania", Number: 22, TCP: true, UDP: true, IP: net.IP{31, 171, 152, 235}},
{Region: "Albania", Number: 23, TCP: true, UDP: true, IP: net.IP{31, 171, 152, 243}},
{Region: "Albania", Number: 24, TCP: true, UDP: true, IP: net.IP{80, 246, 28, 38}},
@@ -248,9 +246,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Australia", Number: 712, TCP: true, UDP: true, IP: net.IP{103, 1, 213, 163}},
{Region: "Australia", Number: 714, TCP: true, UDP: true, IP: net.IP{103, 1, 212, 187}},
{Region: "Australia", Number: 716, TCP: true, UDP: true, IP: net.IP{143, 244, 63, 21}},
{Region: "Australia", Number: 717, TCP: true, UDP: true, IP: net.IP{143, 244, 63, 23}},
{Region: "Australia", Number: 718, TCP: true, UDP: true, IP: net.IP{143, 244, 63, 27}},
{Region: "Australia", Number: 719, TCP: true, UDP: true, IP: net.IP{143, 244, 63, 25}},
{Region: "Austria", Number: 100, TCP: true, UDP: true, IP: net.IP{37, 120, 155, 211}},
{Region: "Austria", Number: 101, TCP: true, UDP: true, IP: net.IP{37, 120, 155, 216}},
{Region: "Austria", Number: 102, TCP: true, UDP: true, IP: net.IP{89, 187, 168, 220}},
@@ -421,7 +416,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Canada", Number: 1035, TCP: true, UDP: true, IP: net.IP{66, 115, 145, 79}},
{Region: "Canada", Number: 1036, TCP: true, UDP: true, IP: net.IP{66, 115, 145, 82}},
{Region: "Canada", Number: 1037, TCP: true, UDP: true, IP: net.IP{66, 115, 146, 3}},
{Region: "Canada", Number: 1038, TCP: true, UDP: true, IP: net.IP{66, 115, 146, 6}},
{Region: "Canada", Number: 1039, TCP: true, UDP: true, IP: net.IP{66, 115, 146, 9}},
{Region: "Canada", Number: 1040, TCP: true, UDP: true, IP: net.IP{66, 115, 146, 12}},
{Region: "Canada", Number: 1041, TCP: true, UDP: true, IP: net.IP{66, 115, 146, 15}},
@@ -1042,10 +1036,11 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Finland", Number: 163, TCP: true, UDP: true, IP: net.IP{194, 110, 84, 148}},
{Region: "Finland", Number: 164, TCP: true, UDP: true, IP: net.IP{194, 110, 84, 150}},
{Region: "Finland", Number: 165, TCP: true, UDP: true, IP: net.IP{194, 110, 84, 152}},
{Region: "Finland", Number: 166, TCP: true, UDP: true, IP: net.IP{194, 110, 84, 154}},
{Region: "Finland", Number: 167, TCP: true, UDP: true, IP: net.IP{194, 110, 84, 156}},
{Region: "Finland", Number: 168, TCP: true, UDP: true, IP: net.IP{194, 110, 84, 158}},
{Region: "Finland", Number: 169, TCP: true, UDP: true, IP: net.IP{194, 110, 84, 160}},
{Region: "Finland", Number: 170, TCP: true, UDP: true, IP: net.IP{194, 110, 84, 162}},
{Region: "Finland", Number: 170, TCP: true, UDP: false, IP: net.IP{194, 110, 84, 162}},
{Region: "Finland", Number: 171, TCP: true, UDP: true, IP: net.IP{194, 110, 84, 164}},
{Region: "Finland", Number: 172, TCP: true, UDP: true, IP: net.IP{194, 110, 84, 166}},
{Region: "Finland", Number: 173, TCP: true, UDP: true, IP: net.IP{194, 110, 84, 168}},
@@ -1058,6 +1053,16 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "France", Number: 439, TCP: true, UDP: true, IP: net.IP{185, 93, 2, 199}},
{Region: "France", Number: 440, TCP: true, UDP: true, IP: net.IP{185, 93, 2, 206}},
{Region: "France", Number: 452, TCP: true, UDP: true, IP: net.IP{45, 152, 181, 219}},
{Region: "France", Number: 517, TCP: true, UDP: true, IP: net.IP{163, 172, 230, 83}},
{Region: "France", Number: 520, TCP: true, UDP: true, IP: net.IP{51, 15, 145, 203}},
{Region: "France", Number: 521, TCP: true, UDP: true, IP: net.IP{51, 15, 146, 170}},
{Region: "France", Number: 522, TCP: true, UDP: true, IP: net.IP{51, 15, 147, 54}},
{Region: "France", Number: 523, TCP: true, UDP: true, IP: net.IP{51, 15, 148, 11}},
{Region: "France", Number: 524, TCP: true, UDP: true, IP: net.IP{51, 15, 152, 59}},
{Region: "France", Number: 525, TCP: true, UDP: true, IP: net.IP{51, 15, 152, 103}},
{Region: "France", Number: 526, TCP: true, UDP: true, IP: net.IP{51, 15, 152, 106}},
{Region: "France", Number: 527, TCP: true, UDP: true, IP: net.IP{51, 15, 144, 125}},
{Region: "France", Number: 533, TCP: true, UDP: true, IP: net.IP{51, 15, 156, 239}},
{Region: "France", Number: 534, TCP: true, UDP: true, IP: net.IP{82, 102, 18, 115}},
{Region: "France", Number: 535, TCP: true, UDP: true, IP: net.IP{82, 102, 18, 236}},
{Region: "France", Number: 536, TCP: true, UDP: true, IP: net.IP{217, 138, 207, 139}},
@@ -1080,8 +1085,38 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "France", Number: 553, TCP: true, UDP: true, IP: net.IP{89, 40, 183, 27}},
{Region: "France", Number: 554, TCP: true, UDP: true, IP: net.IP{89, 40, 183, 29}},
{Region: "France", Number: 555, TCP: true, UDP: true, IP: net.IP{82, 102, 18, 252}},
{Region: "France", Number: 556, TCP: true, UDP: true, IP: net.IP{212, 129, 29, 26}},
{Region: "France", Number: 557, TCP: true, UDP: true, IP: net.IP{62, 210, 11, 125}},
{Region: "France", Number: 558, TCP: true, UDP: true, IP: net.IP{62, 210, 14, 91}},
{Region: "France", Number: 559, TCP: true, UDP: true, IP: net.IP{195, 154, 35, 240}},
{Region: "France", Number: 560, TCP: true, UDP: true, IP: net.IP{62, 210, 8, 191}},
{Region: "France", Number: 561, TCP: true, UDP: true, IP: net.IP{195, 154, 38, 235}},
{Region: "France", Number: 562, TCP: true, UDP: true, IP: net.IP{195, 154, 37, 121}},
{Region: "France", Number: 563, TCP: true, UDP: true, IP: net.IP{195, 154, 36, 131}},
{Region: "France", Number: 564, TCP: true, UDP: true, IP: net.IP{195, 154, 40, 238}},
{Region: "France", Number: 565, TCP: true, UDP: true, IP: net.IP{195, 154, 40, 55}},
{Region: "France", Number: 566, TCP: true, UDP: true, IP: net.IP{195, 154, 44, 23}},
{Region: "France", Number: 567, TCP: true, UDP: true, IP: net.IP{195, 154, 43, 33}},
{Region: "France", Number: 568, TCP: true, UDP: true, IP: net.IP{195, 154, 42, 59}},
{Region: "France", Number: 569, TCP: true, UDP: true, IP: net.IP{195, 154, 41, 9}},
{Region: "France", Number: 570, TCP: true, UDP: true, IP: net.IP{195, 154, 45, 46}},
{Region: "France", Number: 571, TCP: true, UDP: true, IP: net.IP{195, 154, 51, 44}},
{Region: "France", Number: 572, TCP: true, UDP: true, IP: net.IP{195, 154, 48, 113}},
{Region: "France", Number: 573, TCP: true, UDP: true, IP: net.IP{195, 154, 47, 142}},
{Region: "France", Number: 575, TCP: true, UDP: true, IP: net.IP{62, 210, 7, 72}},
{Region: "France", Number: 576, TCP: true, UDP: true, IP: net.IP{195, 154, 63, 135}},
{Region: "France", Number: 577, TCP: true, UDP: true, IP: net.IP{84, 17, 42, 118}},
{Region: "France", Number: 578, TCP: true, UDP: true, IP: net.IP{84, 17, 42, 119}},
{Region: "France", Number: 579, TCP: true, UDP: true, IP: net.IP{51, 159, 88, 50}},
{Region: "France", Number: 580, TCP: true, UDP: true, IP: net.IP{51, 159, 88, 67}},
{Region: "France", Number: 581, TCP: true, UDP: true, IP: net.IP{51, 159, 88, 77}},
{Region: "France", Number: 582, TCP: true, UDP: true, IP: net.IP{51, 159, 88, 83}},
{Region: "France", Number: 583, TCP: true, UDP: true, IP: net.IP{51, 159, 88, 89}},
{Region: "France", Number: 584, TCP: true, UDP: true, IP: net.IP{51, 159, 90, 151}},
{Region: "France", Number: 585, TCP: true, UDP: true, IP: net.IP{51, 159, 90, 156}},
{Region: "France", Number: 586, TCP: true, UDP: true, IP: net.IP{51, 159, 90, 166}},
{Region: "France", Number: 587, TCP: true, UDP: true, IP: net.IP{51, 159, 90, 171}},
{Region: "France", Number: 588, TCP: true, UDP: true, IP: net.IP{51, 159, 90, 176}},
{Region: "France", Number: 589, TCP: true, UDP: true, IP: net.IP{45, 152, 181, 35}},
{Region: "France", Number: 590, TCP: true, UDP: true, IP: net.IP{185, 128, 25, 83}},
{Region: "France", Number: 591, TCP: true, UDP: true, IP: net.IP{185, 128, 25, 51}},
@@ -1105,6 +1140,12 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "France", Number: 609, TCP: true, UDP: true, IP: net.IP{89, 40, 183, 135}},
{Region: "France", Number: 610, TCP: true, UDP: true, IP: net.IP{89, 40, 183, 138}},
{Region: "France", Number: 611, TCP: true, UDP: true, IP: net.IP{89, 40, 183, 141}},
{Region: "France", Number: 612, TCP: true, UDP: true, IP: net.IP{51, 158, 24, 50}},
{Region: "France", Number: 613, TCP: true, UDP: true, IP: net.IP{212, 129, 32, 70}},
{Region: "France", Number: 614, TCP: true, UDP: true, IP: net.IP{51, 158, 24, 80}},
{Region: "France", Number: 615, TCP: true, UDP: true, IP: net.IP{51, 158, 24, 100}},
{Region: "France", Number: 616, TCP: true, UDP: true, IP: net.IP{163, 172, 225, 38}},
{Region: "France", Number: 617, TCP: true, UDP: true, IP: net.IP{163, 172, 226, 46}},
{Region: "France", Number: 618, TCP: true, UDP: true, IP: net.IP{185, 128, 25, 227}},
{Region: "France", Number: 619, TCP: true, UDP: true, IP: net.IP{185, 128, 25, 235}},
{Region: "France", Number: 620, TCP: true, UDP: true, IP: net.IP{185, 128, 25, 115}},
@@ -1114,6 +1155,9 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "France", Number: 624, TCP: true, UDP: true, IP: net.IP{93, 177, 75, 179}},
{Region: "France", Number: 625, TCP: true, UDP: true, IP: net.IP{93, 177, 75, 187}},
{Region: "France", Number: 626, TCP: true, UDP: true, IP: net.IP{185, 93, 2, 152}},
{Region: "France", Number: 627, TCP: true, UDP: true, IP: net.IP{212, 83, 146, 105}},
{Region: "France", Number: 628, TCP: true, UDP: true, IP: net.IP{212, 83, 148, 191}},
{Region: "France", Number: 629, TCP: true, UDP: true, IP: net.IP{212, 83, 150, 163}},
{Region: "France", Number: 630, TCP: true, UDP: true, IP: net.IP{185, 246, 211, 74}},
{Region: "France", Number: 631, TCP: true, UDP: true, IP: net.IP{185, 93, 2, 196}},
{Region: "France", Number: 632, TCP: true, UDP: true, IP: net.IP{185, 246, 211, 97}},
@@ -1128,6 +1172,13 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "France", Number: 641, TCP: true, UDP: true, IP: net.IP{139, 28, 219, 235}},
{Region: "France", Number: 642, TCP: true, UDP: true, IP: net.IP{139, 28, 219, 243}},
{Region: "France", Number: 643, TCP: true, UDP: true, IP: net.IP{185, 246, 211, 50}},
{Region: "France", Number: 644, TCP: true, UDP: true, IP: net.IP{212, 129, 20, 142}},
{Region: "France", Number: 645, TCP: true, UDP: true, IP: net.IP{51, 15, 157, 73}},
{Region: "France", Number: 646, TCP: true, UDP: true, IP: net.IP{212, 83, 134, 138}},
{Region: "France", Number: 647, TCP: true, UDP: true, IP: net.IP{212, 83, 135, 190}},
{Region: "France", Number: 648, TCP: true, UDP: true, IP: net.IP{212, 83, 136, 128}},
{Region: "France", Number: 649, TCP: true, UDP: true, IP: net.IP{212, 83, 161, 151}},
{Region: "France", Number: 650, TCP: true, UDP: true, IP: net.IP{62, 210, 25, 160}},
{Region: "France", Number: 651, TCP: true, UDP: true, IP: net.IP{185, 246, 211, 91}},
{Region: "France", Number: 652, TCP: true, UDP: true, IP: net.IP{37, 120, 158, 19}},
{Region: "France", Number: 653, TCP: true, UDP: true, IP: net.IP{37, 120, 158, 27}},
@@ -1135,6 +1186,8 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "France", Number: 655, TCP: true, UDP: true, IP: net.IP{194, 187, 249, 27}},
{Region: "France", Number: 656, TCP: true, UDP: true, IP: net.IP{84, 17, 60, 238}},
{Region: "France", Number: 657, TCP: true, UDP: true, IP: net.IP{185, 246, 211, 175}},
{Region: "France", Number: 658, TCP: true, UDP: true, IP: net.IP{62, 210, 28, 221}},
{Region: "France", Number: 659, TCP: true, UDP: true, IP: net.IP{62, 210, 28, 226}},
{Region: "France", Number: 660, TCP: true, UDP: true, IP: net.IP{37, 120, 204, 51}},
{Region: "France", Number: 661, TCP: true, UDP: true, IP: net.IP{37, 120, 204, 59}},
{Region: "France", Number: 662, TCP: true, UDP: true, IP: net.IP{37, 120, 204, 131}},
@@ -1164,6 +1217,10 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "France", Number: 686, TCP: true, UDP: true, IP: net.IP{45, 152, 181, 27}},
{Region: "France", Number: 687, TCP: true, UDP: true, IP: net.IP{45, 152, 181, 43}},
{Region: "France", Number: 688, TCP: true, UDP: true, IP: net.IP{45, 152, 181, 51}},
{Region: "France", Number: 689, TCP: true, UDP: true, IP: net.IP{195, 154, 42, 130}},
{Region: "France", Number: 690, TCP: true, UDP: true, IP: net.IP{195, 154, 33, 218}},
{Region: "France", Number: 692, TCP: true, UDP: true, IP: net.IP{195, 154, 38, 230}},
{Region: "France", Number: 693, TCP: true, UDP: true, IP: net.IP{195, 154, 38, 149}},
{Region: "France", Number: 694, TCP: true, UDP: true, IP: net.IP{185, 93, 2, 160}},
{Region: "France", Number: 695, TCP: true, UDP: true, IP: net.IP{45, 152, 181, 147}},
{Region: "France", Number: 696, TCP: true, UDP: true, IP: net.IP{45, 152, 181, 155}},
@@ -1174,7 +1231,20 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "France", Number: 701, TCP: true, UDP: true, IP: net.IP{45, 152, 181, 195}},
{Region: "France", Number: 702, TCP: true, UDP: true, IP: net.IP{45, 152, 181, 203}},
{Region: "France", Number: 703, TCP: true, UDP: true, IP: net.IP{45, 152, 181, 211}},
{Region: "France", Number: 704, TCP: true, UDP: true, IP: net.IP{212, 83, 146, 156}},
{Region: "France", Number: 705, TCP: true, UDP: true, IP: net.IP{212, 83, 148, 123}},
{Region: "France", Number: 706, TCP: true, UDP: true, IP: net.IP{212, 83, 149, 157}},
{Region: "France", Number: 707, TCP: true, UDP: true, IP: net.IP{212, 83, 151, 189}},
{Region: "France", Number: 708, TCP: true, UDP: true, IP: net.IP{212, 129, 18, 106}},
{Region: "France", Number: 709, TCP: true, UDP: true, IP: net.IP{212, 129, 34, 54}},
{Region: "France", Number: 710, TCP: true, UDP: true, IP: net.IP{45, 152, 181, 131}},
{Region: "France", Number: 711, TCP: true, UDP: true, IP: net.IP{163, 172, 230, 145}},
{Region: "France", Number: 712, TCP: true, UDP: true, IP: net.IP{163, 172, 231, 32}},
{Region: "France", Number: 713, TCP: true, UDP: true, IP: net.IP{51, 15, 145, 122}},
{Region: "France", Number: 714, TCP: true, UDP: true, IP: net.IP{51, 15, 147, 136}},
{Region: "France", Number: 715, TCP: true, UDP: true, IP: net.IP{51, 15, 153, 220}},
{Region: "France", Number: 716, TCP: true, UDP: true, IP: net.IP{51, 15, 154, 38}},
{Region: "France", Number: 717, TCP: true, UDP: true, IP: net.IP{51, 15, 154, 158}},
{Region: "France", Number: 718, TCP: true, UDP: true, IP: net.IP{194, 99, 106, 139}},
{Region: "France", Number: 719, TCP: true, UDP: true, IP: net.IP{82, 102, 18, 99}},
{Region: "France", Number: 720, TCP: true, UDP: true, IP: net.IP{82, 102, 18, 104}},
@@ -1196,34 +1266,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "France", Number: 750, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 145}},
{Region: "France", Number: 751, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 148}},
{Region: "France", Number: 752, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 151}},
{Region: "France", Number: 753, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 157}},
{Region: "France", Number: 755, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 160}},
{Region: "France", Number: 756, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 163}},
{Region: "France", Number: 757, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 166}},
{Region: "France", Number: 758, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 169}},
{Region: "France", Number: 759, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 172}},
{Region: "France", Number: 760, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 175}},
{Region: "France", Number: 761, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 178}},
{Region: "France", Number: 762, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 181}},
{Region: "France", Number: 763, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 184}},
{Region: "France", Number: 764, TCP: true, UDP: true, IP: net.IP{143, 244, 56, 186}},
{Region: "France", Number: 765, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 130}},
{Region: "France", Number: 766, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 133}},
{Region: "France", Number: 767, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 136}},
{Region: "France", Number: 768, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 139}},
{Region: "France", Number: 769, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 142}},
{Region: "France", Number: 770, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 145}},
{Region: "France", Number: 771, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 148}},
{Region: "France", Number: 772, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 151}},
{Region: "France", Number: 773, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 154}},
{Region: "France", Number: 774, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 157}},
{Region: "France", Number: 775, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 160}},
{Region: "France", Number: 776, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 163}},
{Region: "France", Number: 777, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 166}},
{Region: "France", Number: 778, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 169}},
{Region: "France", Number: 779, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 172}},
{Region: "France", Number: 780, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 175}},
{Region: "France", Number: 781, TCP: true, UDP: true, IP: net.IP{138, 199, 47, 178}},
{Region: "France", Number: 4, TCP: true, UDP: true, IP: net.IP{82, 102, 18, 11}},
{Region: "France", Number: 5, TCP: true, UDP: true, IP: net.IP{82, 102, 18, 12}},
{Region: "France", Number: 6, TCP: true, UDP: true, IP: net.IP{217, 138, 207, 131}},
@@ -1480,7 +1522,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Greece", Number: 36, TCP: true, UDP: true, IP: net.IP{185, 134, 114, 10}},
{Region: "Greece", Number: 37, TCP: true, UDP: true, IP: net.IP{185, 51, 134, 235}},
{Region: "Greece", Number: 38, TCP: true, UDP: true, IP: net.IP{185, 134, 114, 12}},
{Region: "Greece", Number: 39, TCP: true, UDP: true, IP: net.IP{185, 134, 114, 35}},
{Region: "Greece", Number: 40, TCP: true, UDP: true, IP: net.IP{185, 134, 114, 38}},
{Region: "Greece", Number: 41, TCP: true, UDP: true, IP: net.IP{185, 134, 114, 41}},
{Region: "Hong Kong", Number: 192, TCP: true, UDP: true, IP: net.IP{209, 58, 188, 65}},
@@ -1535,7 +1576,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Hong Kong", Number: 242, TCP: true, UDP: true, IP: net.IP{64, 120, 89, 25}},
{Region: "Hong Kong", Number: 243, TCP: true, UDP: true, IP: net.IP{64, 120, 89, 33}},
{Region: "Hong Kong", Number: 244, TCP: true, UDP: true, IP: net.IP{64, 120, 89, 13}},
{Region: "Hong Kong", Number: 245, TCP: true, UDP: true, IP: net.IP{64, 120, 89, 29}},
{Region: "Hong Kong", Number: 246, TCP: true, UDP: true, IP: net.IP{209, 58, 190, 247}},
{Region: "Hong Kong", Number: 247, TCP: true, UDP: true, IP: net.IP{64, 120, 89, 17}},
{Region: "Hong Kong", Number: 248, TCP: true, UDP: true, IP: net.IP{84, 17, 57, 34}},
@@ -1556,6 +1596,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Hungary", Number: 51, TCP: true, UDP: true, IP: net.IP{185, 189, 114, 243}},
{Region: "Hungary", Number: 52, TCP: true, UDP: true, IP: net.IP{185, 189, 114, 235}},
{Region: "Hungary", Number: 53, TCP: true, UDP: true, IP: net.IP{185, 128, 26, 51}},
{Region: "Hungary", Number: 54, TCP: true, UDP: true, IP: net.IP{185, 128, 26, 59}},
{Region: "Hungary", Number: 55, TCP: true, UDP: true, IP: net.IP{185, 104, 187, 75}},
{Region: "Hungary", Number: 56, TCP: true, UDP: true, IP: net.IP{37, 120, 144, 115}},
{Region: "Hungary", Number: 57, TCP: true, UDP: true, IP: net.IP{37, 120, 144, 123}},
@@ -1627,11 +1668,10 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Indonesia", Number: 20, TCP: true, UDP: true, IP: net.IP{103, 148, 242, 137}},
{Region: "Indonesia", Number: 21, TCP: true, UDP: true, IP: net.IP{103, 148, 242, 140}},
{Region: "Indonesia", Number: 22, TCP: true, UDP: true, IP: net.IP{103, 148, 242, 143}},
{Region: "Indonesia", Number: 24, TCP: true, UDP: true, IP: net.IP{103, 60, 9, 75}},
{Region: "Indonesia", Number: 25, TCP: true, UDP: false, IP: net.IP{103, 60, 9, 27}},
{Region: "Indonesia", Number: 26, TCP: true, UDP: true, IP: net.IP{103, 120, 66, 67}},
{Region: "Indonesia", Number: 27, TCP: true, UDP: true, IP: net.IP{103, 120, 66, 51}},
{Region: "Indonesia", Number: 28, TCP: true, UDP: true, IP: net.IP{103, 120, 66, 99}},
{Region: "Indonesia", Number: 29, TCP: true, UDP: true, IP: net.IP{103, 120, 66, 91}},
{Region: "Indonesia", Number: 30, TCP: true, UDP: true, IP: net.IP{103, 120, 66, 83}},
{Region: "Indonesia", Number: 31, TCP: true, UDP: true, IP: net.IP{103, 120, 66, 75}},
{Region: "Indonesia", Number: 32, TCP: true, UDP: true, IP: net.IP{45, 249, 222, 251}},
@@ -1682,7 +1722,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Ireland", Number: 144, TCP: true, UDP: true, IP: net.IP{193, 56, 252, 179}},
{Region: "Ireland", Number: 145, TCP: true, UDP: true, IP: net.IP{193, 56, 252, 187}},
{Region: "Ireland", Number: 146, TCP: true, UDP: true, IP: net.IP{193, 56, 252, 195}},
{Region: "Ireland", Number: 79, TCP: true, UDP: true, IP: net.IP{84, 247, 48, 67}},
{Region: "Ireland", Number: 80, TCP: true, UDP: true, IP: net.IP{84, 247, 48, 70}},
{Region: "Ireland", Number: 81, TCP: true, UDP: true, IP: net.IP{84, 247, 48, 73}},
{Region: "Ireland", Number: 82, TCP: true, UDP: true, IP: net.IP{84, 247, 48, 76}},
@@ -1742,6 +1781,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Italy", Number: 178, TCP: true, UDP: true, IP: net.IP{192, 145, 127, 203}},
{Region: "Italy", Number: 179, TCP: true, UDP: true, IP: net.IP{192, 145, 127, 227}},
{Region: "Italy", Number: 180, TCP: true, UDP: true, IP: net.IP{192, 145, 127, 235}},
{Region: "Italy", Number: 181, TCP: true, UDP: true, IP: net.IP{192, 145, 127, 243}},
{Region: "Italy", Number: 182, TCP: true, UDP: true, IP: net.IP{192, 145, 127, 251}},
{Region: "Italy", Number: 183, TCP: true, UDP: true, IP: net.IP{84, 17, 59, 155}},
{Region: "Italy", Number: 184, TCP: true, UDP: true, IP: net.IP{84, 17, 59, 150}},
@@ -1902,7 +1942,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Malaysia", Number: 37, TCP: true, UDP: true, IP: net.IP{202, 87, 221, 198}},
{Region: "Malaysia", Number: 38, TCP: true, UDP: true, IP: net.IP{202, 87, 221, 252}},
{Region: "Malaysia", Number: 39, TCP: true, UDP: true, IP: net.IP{202, 87, 221, 137}},
{Region: "Mexico", Number: 47, TCP: true, UDP: true, IP: net.IP{185, 153, 177, 8}},
{Region: "Mexico", Number: 50, TCP: true, UDP: true, IP: net.IP{192, 154, 196, 13}},
{Region: "Mexico", Number: 51, TCP: true, UDP: true, IP: net.IP{192, 154, 196, 15}},
{Region: "Mexico", Number: 52, TCP: true, UDP: true, IP: net.IP{192, 154, 196, 17}},
@@ -2007,7 +2046,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Netherlands", Number: 830, TCP: true, UDP: true, IP: net.IP{178, 239, 173, 191}},
{Region: "Netherlands", Number: 831, TCP: true, UDP: true, IP: net.IP{178, 239, 173, 187}},
{Region: "Netherlands", Number: 832, TCP: true, UDP: true, IP: net.IP{178, 239, 173, 183}},
{Region: "Netherlands", Number: 833, TCP: true, UDP: true, IP: net.IP{178, 239, 173, 179}},
{Region: "Netherlands", Number: 834, TCP: true, UDP: true, IP: net.IP{178, 239, 173, 175}},
{Region: "Netherlands", Number: 835, TCP: true, UDP: true, IP: net.IP{178, 239, 173, 171}},
{Region: "Netherlands", Number: 836, TCP: true, UDP: true, IP: net.IP{178, 239, 173, 167}},
@@ -2077,29 +2115,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Netherlands", Number: 901, TCP: true, UDP: true, IP: net.IP{213, 232, 87, 133}},
{Region: "Netherlands", Number: 902, TCP: true, UDP: true, IP: net.IP{213, 232, 87, 135}},
{Region: "Netherlands", Number: 903, TCP: true, UDP: true, IP: net.IP{213, 232, 87, 137}},
{Region: "Netherlands", Number: 910, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 3}},
{Region: "Netherlands", Number: 911, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 6}},
{Region: "Netherlands", Number: 912, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 9}},
{Region: "Netherlands", Number: 913, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 12}},
{Region: "Netherlands", Number: 914, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 15}},
{Region: "Netherlands", Number: 915, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 18}},
{Region: "Netherlands", Number: 916, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 21}},
{Region: "Netherlands", Number: 917, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 24}},
{Region: "Netherlands", Number: 918, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 27}},
{Region: "Netherlands", Number: 919, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 30}},
{Region: "Netherlands", Number: 920, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 33}},
{Region: "Netherlands", Number: 923, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 67}},
{Region: "Netherlands", Number: 924, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 70}},
{Region: "Netherlands", Number: 925, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 73}},
{Region: "Netherlands", Number: 926, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 76}},
{Region: "Netherlands", Number: 927, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 79}},
{Region: "Netherlands", Number: 928, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 82}},
{Region: "Netherlands", Number: 929, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 85}},
{Region: "Netherlands", Number: 930, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 88}},
{Region: "Netherlands", Number: 931, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 91}},
{Region: "Netherlands", Number: 932, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 94}},
{Region: "Netherlands", Number: 933, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 97}},
{Region: "Netherlands", Number: 934, TCP: true, UDP: true, IP: net.IP{213, 152, 188, 100}},
{Region: "Netherlands", Number: 3, TCP: true, UDP: true, IP: net.IP{139, 28, 217, 83}},
{Region: "Netherlands", Number: 4, TCP: true, UDP: true, IP: net.IP{213, 232, 87, 145}},
{Region: "Netherlands", Number: 5, TCP: true, UDP: true, IP: net.IP{213, 232, 87, 174}},
@@ -2113,7 +2128,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Netherlands", Number: 6, TCP: true, UDP: true, IP: net.IP{213, 232, 87, 141}},
{Region: "Netherlands", Number: 7, TCP: true, UDP: true, IP: net.IP{213, 232, 87, 142}},
{Region: "Netherlands", Number: 4, TCP: true, UDP: true, IP: net.IP{217, 23, 9, 213}},
{Region: "Netherlands", Number: 5, TCP: true, UDP: false, IP: net.IP{93, 190, 143, 97}},
{Region: "New Zealand", Number: 66, TCP: true, UDP: true, IP: net.IP{180, 149, 231, 155}},
{Region: "New Zealand", Number: 67, TCP: true, UDP: true, IP: net.IP{180, 149, 231, 147}},
{Region: "New Zealand", Number: 68, TCP: true, UDP: true, IP: net.IP{103, 62, 49, 193}},
@@ -2270,6 +2284,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Poland", Number: 191, TCP: true, UDP: true, IP: net.IP{194, 110, 114, 219}},
{Region: "Poland", Number: 192, TCP: true, UDP: true, IP: net.IP{194, 110, 114, 227}},
{Region: "Poland", Number: 193, TCP: true, UDP: true, IP: net.IP{194, 110, 114, 235}},
{Region: "Poland", Number: 194, TCP: true, UDP: true, IP: net.IP{194, 110, 114, 243}},
{Region: "Poland", Number: 195, TCP: true, UDP: true, IP: net.IP{37, 120, 211, 235}},
{Region: "Portugal", Number: 37, TCP: true, UDP: true, IP: net.IP{195, 158, 248, 3}},
{Region: "Portugal", Number: 38, TCP: true, UDP: true, IP: net.IP{195, 158, 248, 11}},
@@ -2352,6 +2367,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Singapore", Number: 468, TCP: true, UDP: true, IP: net.IP{209, 58, 176, 36}},
{Region: "Singapore", Number: 469, TCP: true, UDP: true, IP: net.IP{209, 58, 163, 129}},
{Region: "Singapore", Number: 470, TCP: true, UDP: true, IP: net.IP{209, 58, 163, 143}},
{Region: "Singapore", Number: 471, TCP: true, UDP: true, IP: net.IP{209, 58, 174, 242}},
{Region: "Singapore", Number: 472, TCP: true, UDP: true, IP: net.IP{89, 187, 162, 97}},
{Region: "Singapore", Number: 473, TCP: true, UDP: true, IP: net.IP{89, 187, 162, 93}},
{Region: "Singapore", Number: 474, TCP: true, UDP: true, IP: net.IP{84, 17, 39, 194}},
@@ -2471,12 +2487,10 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "South Korea", Number: 30, TCP: true, UDP: true, IP: net.IP{210, 217, 18, 69}},
{Region: "South Korea", Number: 31, TCP: true, UDP: true, IP: net.IP{210, 217, 18, 72}},
{Region: "South Korea", Number: 32, TCP: true, UDP: true, IP: net.IP{210, 217, 18, 66}},
{Region: "South Korea", Number: 33, TCP: true, UDP: true, IP: net.IP{211, 197, 11, 6}},
{Region: "South Korea", Number: 34, TCP: true, UDP: true, IP: net.IP{211, 197, 11, 5}},
{Region: "South Korea", Number: 36, TCP: true, UDP: true, IP: net.IP{172, 107, 194, 187}},
{Region: "South Korea", Number: 37, TCP: true, UDP: true, IP: net.IP{172, 107, 194, 147}},
{Region: "South Korea", Number: 38, TCP: true, UDP: true, IP: net.IP{172, 107, 194, 155}},
{Region: "South Korea", Number: 39, TCP: true, UDP: true, IP: net.IP{172, 107, 194, 163}},
{Region: "South Korea", Number: 39, TCP: true, UDP: false, IP: net.IP{172, 107, 194, 163}},
{Region: "South Korea", Number: 40, TCP: true, UDP: true, IP: net.IP{172, 107, 194, 171}},
{Region: "South Korea", Number: 41, TCP: true, UDP: true, IP: net.IP{211, 197, 11, 12}},
{Region: "South Korea", Number: 42, TCP: true, UDP: true, IP: net.IP{211, 197, 11, 14}},
@@ -2787,6 +2801,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Switzerland", Number: 3, TCP: true, UDP: true, IP: net.IP{91, 132, 136, 219}},
{Region: "Switzerland", Number: 4, TCP: true, UDP: true, IP: net.IP{185, 9, 18, 171}},
{Region: "Switzerland", Number: 6, TCP: true, UDP: true, IP: net.IP{217, 138, 203, 220}},
{Region: "Switzerland", Number: 2, TCP: true, UDP: true, IP: net.IP{37, 120, 137, 172}},
{Region: "Taiwan", Number: 100, TCP: true, UDP: true, IP: net.IP{185, 189, 160, 218}},
{Region: "Taiwan", Number: 101, TCP: true, UDP: true, IP: net.IP{185, 189, 160, 219}},
{Region: "Taiwan", Number: 102, TCP: true, UDP: true, IP: net.IP{185, 189, 160, 220}},
@@ -2819,7 +2834,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Taiwan", Number: 129, TCP: true, UDP: true, IP: net.IP{185, 189, 161, 73}},
{Region: "Taiwan", Number: 130, TCP: true, UDP: true, IP: net.IP{185, 189, 161, 74}},
{Region: "Taiwan", Number: 131, TCP: true, UDP: true, IP: net.IP{185, 189, 161, 75}},
{Region: "Taiwan", Number: 132, TCP: true, UDP: true, IP: net.IP{185, 189, 161, 76}},
{Region: "Taiwan", Number: 133, TCP: true, UDP: true, IP: net.IP{185, 189, 161, 77}},
{Region: "Taiwan", Number: 134, TCP: true, UDP: true, IP: net.IP{185, 189, 161, 78}},
{Region: "Taiwan", Number: 135, TCP: true, UDP: true, IP: net.IP{185, 189, 161, 79}},
@@ -2839,7 +2853,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Taiwan", Number: 149, TCP: true, UDP: true, IP: net.IP{103, 4, 30, 78}},
{Region: "Taiwan", Number: 150, TCP: true, UDP: true, IP: net.IP{103, 4, 30, 91}},
{Region: "Taiwan", Number: 151, TCP: true, UDP: true, IP: net.IP{103, 4, 30, 117}},
{Region: "Taiwan", Number: 152, TCP: true, UDP: true, IP: net.IP{103, 4, 31, 34}},
{Region: "Taiwan", Number: 153, TCP: true, UDP: true, IP: net.IP{103, 4, 31, 37}},
{Region: "Taiwan", Number: 154, TCP: true, UDP: true, IP: net.IP{103, 4, 31, 40}},
{Region: "Taiwan", Number: 155, TCP: true, UDP: true, IP: net.IP{103, 4, 31, 43}},
@@ -2890,7 +2903,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Taiwan", Number: 76, TCP: true, UDP: true, IP: net.IP{185, 189, 160, 88}},
{Region: "Taiwan", Number: 77, TCP: true, UDP: true, IP: net.IP{185, 189, 160, 140}},
{Region: "Taiwan", Number: 78, TCP: true, UDP: true, IP: net.IP{185, 189, 160, 23}},
{Region: "Taiwan", Number: 79, TCP: true, UDP: true, IP: net.IP{185, 189, 160, 147}},
{Region: "Taiwan", Number: 80, TCP: true, UDP: true, IP: net.IP{185, 189, 160, 138}},
{Region: "Taiwan", Number: 81, TCP: true, UDP: true, IP: net.IP{185, 189, 160, 141}},
{Region: "Taiwan", Number: 82, TCP: true, UDP: true, IP: net.IP{185, 189, 160, 155}},
@@ -2913,13 +2925,11 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Taiwan", Number: 99, TCP: true, UDP: true, IP: net.IP{185, 189, 160, 217}},
{Region: "Taiwan", Number: 4, TCP: true, UDP: true, IP: net.IP{103, 4, 30, 123}},
{Region: "Thailand", Number: 12, TCP: true, UDP: true, IP: net.IP{122, 155, 168, 20}},
{Region: "Thailand", Number: 13, TCP: true, UDP: true, IP: net.IP{122, 155, 168, 9}},
{Region: "Thailand", Number: 14, TCP: true, UDP: true, IP: net.IP{122, 155, 174, 64}},
{Region: "Thailand", Number: 15, TCP: true, UDP: true, IP: net.IP{122, 155, 174, 66}},
{Region: "Thailand", Number: 16, TCP: true, UDP: true, IP: net.IP{122, 155, 174, 68}},
{Region: "Thailand", Number: 17, TCP: true, UDP: true, IP: net.IP{122, 155, 174, 70}},
{Region: "Thailand", Number: 18, TCP: true, UDP: true, IP: net.IP{122, 155, 174, 72}},
{Region: "Turkey", Number: 28, TCP: true, UDP: true, IP: net.IP{107, 150, 95, 19}},
{Region: "Turkey", Number: 29, TCP: true, UDP: true, IP: net.IP{107, 150, 95, 27}},
{Region: "Turkey", Number: 30, TCP: true, UDP: true, IP: net.IP{107, 150, 95, 51}},
{Region: "Turkey", Number: 31, TCP: true, UDP: true, IP: net.IP{107, 150, 95, 99}},
@@ -2929,7 +2939,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Turkey", Number: 35, TCP: true, UDP: true, IP: net.IP{107, 150, 95, 43}},
{Region: "Turkey", Number: 36, TCP: true, UDP: true, IP: net.IP{107, 150, 95, 11}},
{Region: "Ukraine", Number: 27, TCP: true, UDP: true, IP: net.IP{176, 107, 179, 178}},
{Region: "Ukraine", Number: 28, TCP: true, UDP: true, IP: net.IP{176, 107, 180, 38}},
{Region: "Ukraine", Number: 30, TCP: true, UDP: true, IP: net.IP{185, 167, 160, 54}},
{Region: "Ukraine", Number: 31, TCP: true, UDP: true, IP: net.IP{176, 107, 184, 131}},
{Region: "Ukraine", Number: 32, TCP: true, UDP: true, IP: net.IP{176, 107, 184, 142}},
@@ -3009,10 +3018,10 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United Kingdom", Number: 1845, TCP: true, UDP: true, IP: net.IP{185, 169, 255, 42}},
{Region: "United Kingdom", Number: 1846, TCP: true, UDP: true, IP: net.IP{185, 169, 255, 45}},
{Region: "United Kingdom", Number: 1847, TCP: true, UDP: true, IP: net.IP{185, 169, 255, 48}},
{Region: "United Kingdom", Number: 1848, TCP: false, UDP: true, IP: net.IP{194, 36, 110, 181}},
{Region: "United Kingdom", Number: 1848, TCP: true, UDP: true, IP: net.IP{194, 36, 110, 181}},
{Region: "United Kingdom", Number: 1849, TCP: true, UDP: true, IP: net.IP{194, 36, 110, 197}},
{Region: "United Kingdom", Number: 1850, TCP: false, UDP: true, IP: net.IP{194, 36, 110, 229}},
{Region: "United Kingdom", Number: 1851, TCP: true, UDP: false, IP: net.IP{194, 36, 110, 245}},
{Region: "United Kingdom", Number: 1850, TCP: true, UDP: true, IP: net.IP{194, 36, 110, 229}},
{Region: "United Kingdom", Number: 1851, TCP: true, UDP: true, IP: net.IP{194, 36, 110, 245}},
{Region: "United Kingdom", Number: 1852, TCP: true, UDP: true, IP: net.IP{165, 231, 33, 195}},
{Region: "United Kingdom", Number: 1853, TCP: true, UDP: true, IP: net.IP{165, 231, 33, 107}},
{Region: "United Kingdom", Number: 1854, TCP: true, UDP: true, IP: net.IP{165, 231, 33, 123}},
@@ -3084,7 +3093,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United Kingdom", Number: 1932, TCP: true, UDP: true, IP: net.IP{185, 125, 207, 251}},
{Region: "United Kingdom", Number: 1933, TCP: true, UDP: true, IP: net.IP{81, 92, 203, 218}},
{Region: "United Kingdom", Number: 1934, TCP: true, UDP: true, IP: net.IP{81, 92, 202, 29}},
{Region: "United Kingdom", Number: 1944, TCP: true, UDP: true, IP: net.IP{141, 98, 100, 123}},
{Region: "United Kingdom", Number: 1935, TCP: true, UDP: true, IP: net.IP{81, 92, 203, 197}},
{Region: "United Kingdom", Number: 1945, TCP: true, UDP: true, IP: net.IP{141, 98, 100, 171}},
{Region: "United Kingdom", Number: 1946, TCP: true, UDP: true, IP: net.IP{141, 98, 100, 179}},
{Region: "United Kingdom", Number: 1947, TCP: true, UDP: true, IP: net.IP{185, 134, 22, 235}},
@@ -3185,7 +3194,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United Kingdom", Number: 2051, TCP: true, UDP: true, IP: net.IP{178, 239, 161, 213}},
{Region: "United Kingdom", Number: 2052, TCP: true, UDP: true, IP: net.IP{185, 16, 207, 39}},
{Region: "United Kingdom", Number: 2053, TCP: true, UDP: true, IP: net.IP{81, 92, 203, 202}},
{Region: "United Kingdom", Number: 2054, TCP: true, UDP: false, IP: net.IP{194, 36, 110, 101}},
{Region: "United Kingdom", Number: 2054, TCP: true, UDP: true, IP: net.IP{194, 36, 110, 101}},
{Region: "United Kingdom", Number: 2055, TCP: true, UDP: true, IP: net.IP{185, 125, 207, 235}},
{Region: "United Kingdom", Number: 2056, TCP: true, UDP: true, IP: net.IP{185, 125, 207, 239}},
{Region: "United Kingdom", Number: 2057, TCP: true, UDP: true, IP: net.IP{185, 125, 207, 243}},
@@ -3279,7 +3288,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United Kingdom", Number: 2145, TCP: true, UDP: true, IP: net.IP{194, 35, 233, 157}},
{Region: "United Kingdom", Number: 2146, TCP: true, UDP: true, IP: net.IP{194, 35, 233, 160}},
{Region: "United Kingdom", Number: 2147, TCP: true, UDP: true, IP: net.IP{194, 35, 233, 163}},
{Region: "United Kingdom", Number: 2148, TCP: true, UDP: true, IP: net.IP{194, 35, 233, 166}},
{Region: "United Kingdom", Number: 2149, TCP: true, UDP: true, IP: net.IP{194, 35, 233, 169}},
{Region: "United Kingdom", Number: 2150, TCP: true, UDP: true, IP: net.IP{178, 239, 161, 91}},
{Region: "United Kingdom", Number: 2151, TCP: true, UDP: true, IP: net.IP{178, 239, 161, 87}},
@@ -3314,8 +3322,8 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United Kingdom", Number: 2181, TCP: true, UDP: true, IP: net.IP{185, 114, 224, 106}},
{Region: "United Kingdom", Number: 2183, TCP: true, UDP: true, IP: net.IP{77, 243, 177, 37}},
{Region: "United Kingdom", Number: 2184, TCP: true, UDP: true, IP: net.IP{77, 243, 177, 53}},
{Region: "United Kingdom", Number: 2185, TCP: false, UDP: true, IP: net.IP{77, 243, 177, 117}},
{Region: "United Kingdom", Number: 2186, TCP: true, UDP: false, IP: net.IP{89, 238, 150, 149}},
{Region: "United Kingdom", Number: 2185, TCP: true, UDP: true, IP: net.IP{77, 243, 177, 117}},
{Region: "United Kingdom", Number: 2186, TCP: true, UDP: true, IP: net.IP{89, 238, 150, 149}},
{Region: "United Kingdom", Number: 2193, TCP: true, UDP: true, IP: net.IP{178, 159, 3, 162}},
{Region: "United Kingdom", Number: 2194, TCP: true, UDP: true, IP: net.IP{178, 159, 3, 164}},
{Region: "United Kingdom", Number: 2195, TCP: true, UDP: true, IP: net.IP{178, 159, 3, 166}},
@@ -3634,6 +3642,8 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 5341, TCP: true, UDP: true, IP: net.IP{212, 102, 33, 104}},
{Region: "United States", Number: 5342, TCP: true, UDP: true, IP: net.IP{162, 210, 198, 129}},
{Region: "United States", Number: 5343, TCP: true, UDP: true, IP: net.IP{209, 58, 133, 167}},
{Region: "United States", Number: 5347, TCP: true, UDP: true, IP: net.IP{23, 83, 129, 120}},
{Region: "United States", Number: 5348, TCP: true, UDP: true, IP: net.IP{23, 83, 129, 161}},
{Region: "United States", Number: 5349, TCP: true, UDP: true, IP: net.IP{185, 245, 87, 43}},
{Region: "United States", Number: 5350, TCP: true, UDP: true, IP: net.IP{185, 245, 87, 23}},
{Region: "United States", Number: 5351, TCP: true, UDP: true, IP: net.IP{185, 245, 86, 235}},
@@ -3655,7 +3665,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 5391, TCP: true, UDP: true, IP: net.IP{107, 158, 235, 91}},
{Region: "United States", Number: 5392, TCP: true, UDP: true, IP: net.IP{107, 158, 236, 139}},
{Region: "United States", Number: 5393, TCP: true, UDP: true, IP: net.IP{170, 130, 7, 210}},
{Region: "United States", Number: 5394, TCP: true, UDP: true, IP: net.IP{107, 158, 240, 27}},
{Region: "United States", Number: 5396, TCP: true, UDP: true, IP: net.IP{107, 158, 255, 35}},
{Region: "United States", Number: 5397, TCP: true, UDP: true, IP: net.IP{107, 158, 96, 2}},
{Region: "United States", Number: 5398, TCP: true, UDP: true, IP: net.IP{107, 158, 96, 10}},
@@ -3681,6 +3690,9 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 5418, TCP: true, UDP: true, IP: net.IP{107, 158, 96, 170}},
{Region: "United States", Number: 5419, TCP: true, UDP: true, IP: net.IP{107, 158, 96, 178}},
{Region: "United States", Number: 5420, TCP: true, UDP: true, IP: net.IP{107, 158, 96, 186}},
{Region: "United States", Number: 5421, TCP: true, UDP: true, IP: net.IP{23, 83, 130, 44}},
{Region: "United States", Number: 5422, TCP: true, UDP: true, IP: net.IP{23, 83, 129, 165}},
{Region: "United States", Number: 5423, TCP: true, UDP: true, IP: net.IP{23, 83, 129, 173}},
{Region: "United States", Number: 5424, TCP: true, UDP: true, IP: net.IP{96, 9, 247, 43}},
{Region: "United States", Number: 5425, TCP: true, UDP: true, IP: net.IP{96, 9, 247, 11}},
{Region: "United States", Number: 5426, TCP: true, UDP: true, IP: net.IP{108, 59, 0, 29}},
@@ -3745,6 +3757,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 5508, TCP: true, UDP: true, IP: net.IP{5, 181, 234, 75}},
{Region: "United States", Number: 5509, TCP: true, UDP: true, IP: net.IP{5, 181, 234, 83}},
{Region: "United States", Number: 5510, TCP: true, UDP: true, IP: net.IP{5, 181, 234, 91}},
{Region: "United States", Number: 5513, TCP: true, UDP: true, IP: net.IP{23, 83, 129, 116}},
{Region: "United States", Number: 5520, TCP: true, UDP: true, IP: net.IP{208, 131, 139, 58}},
{Region: "United States", Number: 5521, TCP: true, UDP: true, IP: net.IP{208, 131, 139, 66}},
{Region: "United States", Number: 5523, TCP: true, UDP: true, IP: net.IP{45, 141, 153, 236}},
@@ -3773,6 +3786,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 5552, TCP: true, UDP: true, IP: net.IP{184, 170, 253, 85}},
{Region: "United States", Number: 5553, TCP: true, UDP: true, IP: net.IP{184, 170, 253, 88}},
{Region: "United States", Number: 5554, TCP: true, UDP: true, IP: net.IP{184, 170, 253, 91}},
{Region: "United States", Number: 5555, TCP: true, UDP: true, IP: net.IP{184, 170, 253, 94}},
{Region: "United States", Number: 5556, TCP: true, UDP: true, IP: net.IP{184, 170, 253, 97}},
{Region: "United States", Number: 5557, TCP: true, UDP: true, IP: net.IP{184, 170, 253, 100}},
{Region: "United States", Number: 5558, TCP: true, UDP: true, IP: net.IP{184, 170, 253, 103}},
@@ -3861,7 +3875,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 5674, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 60}},
{Region: "United States", Number: 5675, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 63}},
{Region: "United States", Number: 5676, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 66}},
{Region: "United States", Number: 5677, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 69}},
{Region: "United States", Number: 5678, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 72}},
{Region: "United States", Number: 5679, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 75}},
{Region: "United States", Number: 5680, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 78}},
@@ -3870,6 +3883,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 5683, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 87}},
{Region: "United States", Number: 5684, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 90}},
{Region: "United States", Number: 5685, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 93}},
{Region: "United States", Number: 5686, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 96}},
{Region: "United States", Number: 5687, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 99}},
{Region: "United States", Number: 5688, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 102}},
{Region: "United States", Number: 5689, TCP: true, UDP: true, IP: net.IP{66, 115, 157, 105}},
@@ -4249,6 +4263,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 6202, TCP: true, UDP: true, IP: net.IP{198, 8, 81, 67}},
{Region: "United States", Number: 6203, TCP: true, UDP: true, IP: net.IP{198, 8, 81, 70}},
{Region: "United States", Number: 6204, TCP: true, UDP: true, IP: net.IP{198, 8, 81, 73}},
{Region: "United States", Number: 6205, TCP: true, UDP: true, IP: net.IP{172, 98, 86, 70}},
{Region: "United States", Number: 6210, TCP: true, UDP: true, IP: net.IP{45, 155, 40, 107}},
{Region: "United States", Number: 6211, TCP: true, UDP: true, IP: net.IP{45, 155, 40, 75}},
{Region: "United States", Number: 6212, TCP: true, UDP: true, IP: net.IP{45, 155, 40, 83}},
@@ -4505,6 +4520,9 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 6501, TCP: true, UDP: true, IP: net.IP{170, 130, 7, 186}},
{Region: "United States", Number: 6502, TCP: true, UDP: true, IP: net.IP{170, 130, 7, 178}},
{Region: "United States", Number: 6503, TCP: true, UDP: true, IP: net.IP{170, 130, 7, 194}},
{Region: "United States", Number: 6504, TCP: true, UDP: true, IP: net.IP{23, 81, 234, 8}},
{Region: "United States", Number: 6505, TCP: true, UDP: true, IP: net.IP{23, 81, 234, 12}},
{Region: "United States", Number: 6506, TCP: true, UDP: true, IP: net.IP{23, 81, 234, 16}},
{Region: "United States", Number: 6507, TCP: true, UDP: true, IP: net.IP{173, 244, 208, 115}},
{Region: "United States", Number: 6508, TCP: true, UDP: true, IP: net.IP{208, 131, 139, 43}},
{Region: "United States", Number: 6509, TCP: true, UDP: true, IP: net.IP{107, 182, 235, 133}},
@@ -4521,6 +4539,12 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 6520, TCP: true, UDP: true, IP: net.IP{209, 58, 139, 236}},
{Region: "United States", Number: 6521, TCP: true, UDP: true, IP: net.IP{209, 58, 134, 47}},
{Region: "United States", Number: 6522, TCP: true, UDP: true, IP: net.IP{209, 58, 131, 41}},
{Region: "United States", Number: 6527, TCP: true, UDP: true, IP: net.IP{172, 98, 86, 227}},
{Region: "United States", Number: 6528, TCP: true, UDP: true, IP: net.IP{172, 98, 86, 230}},
{Region: "United States", Number: 6529, TCP: true, UDP: true, IP: net.IP{172, 98, 86, 233}},
{Region: "United States", Number: 6530, TCP: true, UDP: true, IP: net.IP{172, 98, 86, 236}},
{Region: "United States", Number: 6531, TCP: true, UDP: true, IP: net.IP{199, 229, 250, 179}},
{Region: "United States", Number: 6532, TCP: true, UDP: true, IP: net.IP{199, 229, 250, 182}},
{Region: "United States", Number: 6533, TCP: true, UDP: true, IP: net.IP{172, 93, 177, 251}},
{Region: "United States", Number: 6534, TCP: true, UDP: true, IP: net.IP{172, 93, 177, 99}},
{Region: "United States", Number: 6535, TCP: true, UDP: true, IP: net.IP{172, 93, 177, 27}},
@@ -4567,7 +4591,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 6584, TCP: true, UDP: true, IP: net.IP{107, 152, 102, 140}},
{Region: "United States", Number: 6585, TCP: true, UDP: true, IP: net.IP{107, 152, 102, 143}},
{Region: "United States", Number: 6586, TCP: true, UDP: true, IP: net.IP{50, 2, 184, 11}},
{Region: "United States", Number: 6587, TCP: true, UDP: true, IP: net.IP{89, 187, 175, 47}},
{Region: "United States", Number: 6588, TCP: true, UDP: true, IP: net.IP{89, 187, 175, 42}},
{Region: "United States", Number: 6589, TCP: true, UDP: true, IP: net.IP{89, 187, 175, 37}},
{Region: "United States", Number: 6590, TCP: true, UDP: true, IP: net.IP{89, 187, 175, 32}},
@@ -4618,6 +4641,12 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 6640, TCP: true, UDP: true, IP: net.IP{198, 8, 81, 79}},
{Region: "United States", Number: 6641, TCP: true, UDP: true, IP: net.IP{198, 8, 81, 82}},
{Region: "United States", Number: 6642, TCP: true, UDP: true, IP: net.IP{198, 8, 81, 85}},
{Region: "United States", Number: 6643, TCP: true, UDP: true, IP: net.IP{199, 229, 250, 185}},
{Region: "United States", Number: 6644, TCP: true, UDP: true, IP: net.IP{199, 229, 250, 188}},
{Region: "United States", Number: 6647, TCP: true, UDP: true, IP: net.IP{198, 8, 80, 102}},
{Region: "United States", Number: 6648, TCP: true, UDP: true, IP: net.IP{198, 8, 80, 105}},
{Region: "United States", Number: 6649, TCP: true, UDP: true, IP: net.IP{198, 8, 80, 108}},
{Region: "United States", Number: 6650, TCP: true, UDP: true, IP: net.IP{198, 8, 80, 111}},
{Region: "United States", Number: 6655, TCP: true, UDP: true, IP: net.IP{64, 44, 81, 83}},
{Region: "United States", Number: 6656, TCP: true, UDP: true, IP: net.IP{64, 44, 81, 91}},
{Region: "United States", Number: 6657, TCP: true, UDP: true, IP: net.IP{64, 44, 80, 3}},
@@ -4742,6 +4771,7 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 6778, TCP: true, UDP: true, IP: net.IP{45, 152, 180, 251}},
{Region: "United States", Number: 6779, TCP: true, UDP: true, IP: net.IP{217, 138, 198, 155}},
{Region: "United States", Number: 6780, TCP: true, UDP: true, IP: net.IP{217, 138, 198, 163}},
{Region: "United States", Number: 6781, TCP: true, UDP: true, IP: net.IP{217, 138, 198, 171}},
{Region: "United States", Number: 6782, TCP: true, UDP: true, IP: net.IP{217, 138, 198, 179}},
{Region: "United States", Number: 6783, TCP: true, UDP: true, IP: net.IP{217, 138, 198, 187}},
{Region: "United States", Number: 6784, TCP: true, UDP: true, IP: net.IP{217, 138, 198, 195}},
@@ -4966,11 +4996,11 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 8037, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 30}},
{Region: "United States", Number: 8038, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 33}},
{Region: "United States", Number: 8039, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 36}},
{Region: "United States", Number: 8040, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 39}},
{Region: "United States", Number: 8041, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 42}},
{Region: "United States", Number: 8042, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 45}},
{Region: "United States", Number: 8043, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 48}},
{Region: "United States", Number: 8044, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 51}},
{Region: "United States", Number: 8045, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 54}},
{Region: "United States", Number: 8046, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 57}},
{Region: "United States", Number: 8047, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 60}},
{Region: "United States", Number: 8048, TCP: true, UDP: true, IP: net.IP{92, 119, 17, 63}},
@@ -5293,35 +5323,9 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 8416, TCP: true, UDP: true, IP: net.IP{192, 145, 116, 148}},
{Region: "United States", Number: 8417, TCP: true, UDP: true, IP: net.IP{192, 145, 116, 150}},
{Region: "United States", Number: 8418, TCP: true, UDP: true, IP: net.IP{192, 145, 116, 152}},
{Region: "United States", Number: 8419, TCP: true, UDP: true, IP: net.IP{192, 145, 116, 154}},
{Region: "United States", Number: 8420, TCP: true, UDP: true, IP: net.IP{192, 145, 116, 156}},
{Region: "United States", Number: 8421, TCP: true, UDP: true, IP: net.IP{192, 145, 116, 158}},
{Region: "United States", Number: 8422, TCP: true, UDP: true, IP: net.IP{192, 145, 116, 160}},
{Region: "United States", Number: 8423, TCP: true, UDP: true, IP: net.IP{192, 145, 116, 162}},
{Region: "United States", Number: 8474, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 100}},
{Region: "United States", Number: 8475, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 102}},
{Region: "United States", Number: 8476, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 104}},
{Region: "United States", Number: 8477, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 106}},
{Region: "United States", Number: 8478, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 108}},
{Region: "United States", Number: 8479, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 110}},
{Region: "United States", Number: 8480, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 112}},
{Region: "United States", Number: 8481, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 114}},
{Region: "United States", Number: 8482, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 116}},
{Region: "United States", Number: 8483, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 118}},
{Region: "United States", Number: 8484, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 120}},
{Region: "United States", Number: 8485, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 122}},
{Region: "United States", Number: 8486, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 124}},
{Region: "United States", Number: 8487, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 126}},
{Region: "United States", Number: 8488, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 128}},
{Region: "United States", Number: 8489, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 130}},
{Region: "United States", Number: 8490, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 132}},
{Region: "United States", Number: 8491, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 134}},
{Region: "United States", Number: 8492, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 136}},
{Region: "United States", Number: 8493, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 138}},
{Region: "United States", Number: 8494, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 140}},
{Region: "United States", Number: 8495, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 142}},
{Region: "United States", Number: 8496, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 144}},
{Region: "United States", Number: 8497, TCP: true, UDP: true, IP: net.IP{192, 145, 117, 146}},
{Region: "United States", Number: 12, TCP: true, UDP: true, IP: net.IP{87, 101, 95, 179}},
{Region: "United States", Number: 13, TCP: true, UDP: true, IP: net.IP{87, 101, 95, 180}},
{Region: "United States", Number: 14, TCP: true, UDP: true, IP: net.IP{207, 244, 78, 74}},
@@ -5346,7 +5350,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "United States", Number: 33, TCP: true, UDP: true, IP: net.IP{92, 119, 177, 12}},
{Region: "United States", Number: 34, TCP: true, UDP: true, IP: net.IP{45, 152, 180, 115}},
{Region: "United States", Number: 35, TCP: true, UDP: true, IP: net.IP{45, 152, 180, 116}},
{Region: "Vietnam", Number: 18, TCP: true, UDP: true, IP: net.IP{125, 212, 220, 51}},
{Region: "Vietnam", Number: 19, TCP: true, UDP: true, IP: net.IP{125, 212, 220, 54}},
{Region: "Vietnam", Number: 20, TCP: true, UDP: true, IP: net.IP{125, 212, 220, 57}},
{Region: "Vietnam", Number: 21, TCP: true, UDP: true, IP: net.IP{125, 212, 220, 6}},
@@ -5355,7 +5358,6 @@ func NordvpnServers() []models.NordvpnServer {
{Region: "Vietnam", Number: 24, TCP: true, UDP: true, IP: net.IP{125, 212, 220, 30}},
{Region: "Vietnam", Number: 25, TCP: true, UDP: false, IP: net.IP{125, 212, 220, 34}},
{Region: "Vietnam", Number: 26, TCP: true, UDP: true, IP: net.IP{125, 212, 220, 40}},
{Region: "Vietnam", Number: 27, TCP: true, UDP: true, IP: net.IP{125, 212, 220, 47}},
{Region: "Vietnam", Number: 28, TCP: true, UDP: true, IP: net.IP{103, 9, 76, 189}},
{Region: "Vietnam", Number: 29, TCP: true, UDP: true, IP: net.IP{103, 9, 76, 192}},
{Region: "Vietnam", Number: 30, TCP: true, UDP: true, IP: net.IP{103, 9, 76, 205}},

View File

@@ -28,635 +28,104 @@ func PIAGeoChoices() (choices []string) {
//nolint:lll
func PIAServers() []models.PIAServer {
return []models.PIAServer{
{Region: "AU Melbourne", ServerName: "melbourne402", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 220}},
{Region: "AU Melbourne", ServerName: "melbourne402", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 240}},
{Region: "AU Melbourne", ServerName: "melbourne403", Protocol: "udp", PortForward: true, IP: net.IP{103, 2, 198, 75}},
{Region: "AU Melbourne", ServerName: "melbourne403", Protocol: "udp", PortForward: true, IP: net.IP{103, 2, 198, 78}},
{Region: "AU Melbourne", ServerName: "melbourne406", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 153}},
{Region: "AU Melbourne", ServerName: "melbourne406", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 149}},
{Region: "AU Melbourne", ServerName: "melbourne413", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 126}},
{Region: "AU Melbourne", ServerName: "melbourne413", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 116}},
{Region: "AU Melbourne", ServerName: "melbourne414", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 103}},
{Region: "AU Melbourne", ServerName: "melbourne414", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 110}},
{Region: "AU Perth", ServerName: "perth403", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 148}},
{Region: "AU Perth", ServerName: "perth403", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 154}},
{Region: "AU Perth", ServerName: "perth404", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 186}},
{Region: "AU Perth", ServerName: "perth404", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 179}},
{Region: "AU Perth", ServerName: "perth405", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 139}},
{Region: "AU Perth", ServerName: "perth405", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 139}},
{Region: "AU Sydney", ServerName: "sydney403", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 9, 42}},
{Region: "AU Sydney", ServerName: "sydney403", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 9, 49}},
{Region: "AU Sydney", ServerName: "sydney409", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 10, 143}},
{Region: "AU Sydney", ServerName: "sydney409", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 10, 144}},
{Region: "AU Sydney", ServerName: "sydney410", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 10, 104}},
{Region: "AU Sydney", ServerName: "sydney410", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 10, 123}},
{Region: "AU Sydney", ServerName: "sydney413", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 76, 84}},
{Region: "AU Sydney", ServerName: "sydney413", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 76, 93}},
{Region: "AU Sydney", ServerName: "sydney414", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 76, 99}},
{Region: "AU Sydney", ServerName: "sydney414", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 76, 103}},
{Region: "Albania", ServerName: "tirana401", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 133}},
{Region: "Albania", ServerName: "tirana401", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 133}},
{Region: "Albania", ServerName: "tirana402", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 123}},
{Region: "Albania", ServerName: "tirana402", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 118}},
{Region: "Albania", ServerName: "tirana403", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 68}},
{Region: "Albania", ServerName: "tirana403", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 70}},
{Region: "Albania", ServerName: "tirana404", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 55}},
{Region: "Albania", ServerName: "tirana404", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 61}},
{Region: "Algeria", ServerName: "algiers403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 228, 4}},
{Region: "Algeria", ServerName: "algiers403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 228, 4}},
{Region: "Algeria", ServerName: "algiers404", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 228, 24}},
{Region: "Algeria", ServerName: "algiers404", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 228, 26}},
{Region: "Andorra", ServerName: "andorra403", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 9}},
{Region: "Andorra", ServerName: "andorra403", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 5}},
{Region: "Andorra", ServerName: "andorra404", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 25}},
{Region: "Andorra", ServerName: "andorra404", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 24}},
{Region: "Andorra", ServerName: "andorra405", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 38}},
{Region: "Andorra", ServerName: "andorra405", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 38}},
{Region: "Argentina", ServerName: "buenosaires401", Protocol: "udp", PortForward: true, IP: net.IP{190, 106, 134, 83}},
{Region: "Argentina", ServerName: "buenosaires401", Protocol: "udp", PortForward: true, IP: net.IP{190, 106, 134, 83}},
{Region: "Armenia", ServerName: "armenia403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 160, 5}},
{Region: "Armenia", ServerName: "armenia403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 160, 4}},
{Region: "Austria", ServerName: "vienna402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 60, 45}},
{Region: "Austria", ServerName: "vienna402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 60, 27}},
{Region: "Austria", ServerName: "vienna403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 60, 68}},
{Region: "Austria", ServerName: "vienna403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 60, 70}},
{Region: "Bahamas", ServerName: "bahamas403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 238, 24}},
{Region: "Bahamas", ServerName: "bahamas403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 238, 18}},
{Region: "Bahamas", ServerName: "bahamas404", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 238, 6}},
{Region: "Bahamas", ServerName: "bahamas404", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 238, 13}},
{Region: "Bangladesh", ServerName: "bangladesh403", Protocol: "udp", PortForward: true, IP: net.IP{84, 252, 93, 14}},
{Region: "Bangladesh", ServerName: "bangladesh403", Protocol: "udp", PortForward: true, IP: net.IP{84, 252, 93, 9}},
{Region: "Belgium", ServerName: "brussels401", Protocol: "udp", PortForward: true, IP: net.IP{89, 249, 73, 212}},
{Region: "Belgium", ServerName: "brussels401", Protocol: "udp", PortForward: true, IP: net.IP{89, 249, 73, 213}},
{Region: "Belgium", ServerName: "brussels402", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 211, 253}},
{Region: "Belgium", ServerName: "brussels402", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 211, 246}},
{Region: "Belgium", ServerName: "brussels406", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 115, 28}},
{Region: "Belgium", ServerName: "brussels406", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 115, 18}},
{Region: "Belgium", ServerName: "brussels409", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 123, 6}},
{Region: "Belgium", ServerName: "brussels409", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 123, 8}},
{Region: "Belgium", ServerName: "brussels411", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 123, 57}},
{Region: "Belgium", ServerName: "brussels411", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 123, 59}},
{Region: "Bosnia and Herzegovina", ServerName: "sarajevo402", Protocol: "udp", PortForward: true, IP: net.IP{185, 212, 111, 63}},
{Region: "Bosnia and Herzegovina", ServerName: "sarajevo402", Protocol: "udp", PortForward: true, IP: net.IP{185, 212, 111, 68}},
{Region: "Brazil", ServerName: "saopaolo401", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 180, 228}},
{Region: "Brazil", ServerName: "saopaolo401", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 180, 229}},
{Region: "Brazil", ServerName: "saopaolo402", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 177, 59}},
{Region: "Brazil", ServerName: "saopaolo402", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 177, 58}},
{Region: "Brazil", ServerName: "saopaolo403", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 177, 118}},
{Region: "Brazil", ServerName: "saopaolo403", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 177, 125}},
{Region: "Brazil", ServerName: "saopaolo404", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 180, 244}},
{Region: "Brazil", ServerName: "saopaolo404", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 180, 249}},
{Region: "Bulgaria", ServerName: "sofia402", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 221, 87}},
{Region: "Bulgaria", ServerName: "sofia402", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 221, 83}},
{Region: "Bulgaria", ServerName: "sofia403", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 221, 76}},
{Region: "Bulgaria", ServerName: "sofia403", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 221, 67}},
{Region: "CA Montreal", ServerName: "montreal404", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 71, 178}},
{Region: "CA Montreal", ServerName: "montreal404", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 71, 173}},
{Region: "CA Montreal", ServerName: "montreal406", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 15}},
{Region: "CA Montreal", ServerName: "montreal406", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 36}},
{Region: "CA Montreal", ServerName: "montreal409", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 68, 33}},
{Region: "CA Montreal", ServerName: "montreal409", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 68, 16}},
{Region: "CA Montreal", ServerName: "montreal410", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 204}},
{Region: "CA Montreal", ServerName: "montreal410", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 240}},
{Region: "CA Montreal", ServerName: "montreal411", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 168}},
{Region: "CA Montreal", ServerName: "montreal411", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 155}},
{Region: "CA Ontario", ServerName: "ontario401", Protocol: "udp", PortForward: true, IP: net.IP{172, 83, 47, 128}},
{Region: "CA Ontario", ServerName: "ontario401", Protocol: "udp", PortForward: true, IP: net.IP{172, 83, 47, 97}},
{Region: "CA Ontario", ServerName: "ontario402", Protocol: "udp", PortForward: true, IP: net.IP{172, 83, 47, 153}},
{Region: "CA Ontario", ServerName: "ontario402", Protocol: "udp", PortForward: true, IP: net.IP{172, 83, 47, 153}},
{Region: "CA Ontario", ServerName: "ontario406", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 80, 163}},
{Region: "CA Ontario", ServerName: "ontario406", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 80, 140}},
{Region: "CA Ontario", ServerName: "ontario407", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 80, 10}},
{Region: "CA Ontario", ServerName: "ontario407", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 80, 38}},
{Region: "CA Ontario", ServerName: "ontario409", Protocol: "udp", PortForward: true, IP: net.IP{66, 115, 145, 203}},
{Region: "CA Ontario", ServerName: "ontario409", Protocol: "udp", PortForward: true, IP: net.IP{66, 115, 145, 230}},
{Region: "CA Toronto", ServerName: "toronto403", Protocol: "udp", PortForward: true, IP: net.IP{66, 115, 142, 67}},
{Region: "CA Toronto", ServerName: "toronto403", Protocol: "udp", PortForward: true, IP: net.IP{66, 115, 142, 74}},
{Region: "CA Toronto", ServerName: "toronto414", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 4}},
{Region: "CA Toronto", ServerName: "toronto414", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 20}},
{Region: "CA Toronto", ServerName: "toronto417", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 118}},
{Region: "CA Toronto", ServerName: "toronto417", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 96}},
{Region: "CA Toronto", ServerName: "toronto418", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 153}},
{Region: "CA Toronto", ServerName: "toronto418", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 145}},
{Region: "CA Toronto", ServerName: "toronto425", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 42, 119}},
{Region: "CA Toronto", ServerName: "toronto425", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 42, 115}},
{Region: "CA Vancouver", ServerName: "vancouver401", Protocol: "udp", PortForward: true, IP: net.IP{162, 216, 47, 48}},
{Region: "CA Vancouver", ServerName: "vancouver401", Protocol: "udp", PortForward: true, IP: net.IP{162, 216, 47, 48}},
{Region: "CA Vancouver", ServerName: "vancouver406", Protocol: "udp", PortForward: true, IP: net.IP{162, 216, 47, 205}},
{Region: "CA Vancouver", ServerName: "vancouver406", Protocol: "udp", PortForward: true, IP: net.IP{162, 216, 47, 203}},
{Region: "CA Vancouver", ServerName: "vancouver407", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 89, 67}},
{Region: "CA Vancouver", ServerName: "vancouver407", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 89, 44}},
{Region: "CA Vancouver", ServerName: "vancouver411", Protocol: "udp", PortForward: true, IP: net.IP{208, 78, 42, 138}},
{Region: "CA Vancouver", ServerName: "vancouver411", Protocol: "udp", PortForward: true, IP: net.IP{208, 78, 42, 133}},
{Region: "CA Vancouver", ServerName: "vancouver412", Protocol: "udp", PortForward: true, IP: net.IP{208, 78, 42, 226}},
{Region: "CA Vancouver", ServerName: "vancouver412", Protocol: "udp", PortForward: true, IP: net.IP{208, 78, 42, 247}},
{Region: "Cambodia", ServerName: "cambodia401", Protocol: "udp", PortForward: true, IP: net.IP{188, 215, 235, 110}},
{Region: "Cambodia", ServerName: "cambodia401", Protocol: "udp", PortForward: true, IP: net.IP{188, 215, 235, 100}},
{Region: "Cambodia", ServerName: "cambodia402", Protocol: "udp", PortForward: true, IP: net.IP{188, 215, 235, 125}},
{Region: "Cambodia", ServerName: "cambodia402", Protocol: "udp", PortForward: true, IP: net.IP{188, 215, 235, 119}},
{Region: "China", ServerName: "china404", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 80, 9}},
{Region: "China", ServerName: "china404", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 80, 8}},
{Region: "Cyprus", ServerName: "cyprus403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 162, 3}},
{Region: "Cyprus", ServerName: "cyprus403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 162, 8}},
{Region: "Czech Republic", ServerName: "prague401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 74}},
{Region: "Czech Republic", ServerName: "prague401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 73}},
{Region: "Czech Republic", ServerName: "prague402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 154}},
{Region: "Czech Republic", ServerName: "prague402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 139}},
{Region: "Czech Republic", ServerName: "prague403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 195}},
{Region: "Czech Republic", ServerName: "prague403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 195}},
{Region: "DE Berlin", ServerName: "berlin416", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 5}},
{Region: "DE Berlin", ServerName: "berlin416", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 6}},
{Region: "DE Berlin", ServerName: "berlin417", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 30}},
{Region: "DE Berlin", ServerName: "berlin417", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 25}},
{Region: "DE Berlin", ServerName: "berlin421", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 88}},
{Region: "DE Berlin", ServerName: "berlin421", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 88}},
{Region: "DE Berlin", ServerName: "berlin424", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 136}},
{Region: "DE Berlin", ServerName: "berlin424", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 126}},
{Region: "DE Berlin", ServerName: "berlin425", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 151}},
{Region: "DE Berlin", ServerName: "berlin425", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 145}},
{Region: "DE Frankfurt", ServerName: "frankfurt402", Protocol: "udp", PortForward: true, IP: net.IP{195, 181, 170, 229}},
{Region: "DE Frankfurt", ServerName: "frankfurt402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 57, 217}},
{Region: "DE Frankfurt", ServerName: "frankfurt405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 57, 45}},
{Region: "DE Frankfurt", ServerName: "frankfurt405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 57, 3}},
{Region: "DE Frankfurt", ServerName: "frankfurt407", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 18, 174}},
{Region: "DE Frankfurt", ServerName: "frankfurt407", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 18, 136}},
{Region: "DE Frankfurt", ServerName: "frankfurt408", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 18, 98}},
{Region: "DE Frankfurt", ServerName: "frankfurt408", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 18, 104}},
{Region: "DE Frankfurt", ServerName: "frankfurt410", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 57, 184}},
{Region: "DE Frankfurt", ServerName: "frankfurt410", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 57, 184}},
{Region: "Denmark", ServerName: "copenhagen402", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 75}},
{Region: "Denmark", ServerName: "copenhagen402", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 89}},
{Region: "Denmark", ServerName: "copenhagen403", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 103}},
{Region: "Denmark", ServerName: "copenhagen403", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 103}},
{Region: "Denmark", ServerName: "copenhagen404", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 176}},
{Region: "Denmark", ServerName: "copenhagen404", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 174}},
{Region: "Denmark", ServerName: "copenhagen405", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 35}},
{Region: "Denmark", ServerName: "copenhagen405", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 47}},
{Region: "Egypt", ServerName: "cairo401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 122, 107}},
{Region: "Egypt", ServerName: "cairo401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 122, 100}},
{Region: "Egypt", ServerName: "cairo402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 122, 118}},
{Region: "Egypt", ServerName: "cairo402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 122, 118}},
{Region: "Estonia", ServerName: "talinn401", Protocol: "udp", PortForward: true, IP: net.IP{77, 247, 111, 138}},
{Region: "Estonia", ServerName: "talinn401", Protocol: "udp", PortForward: true, IP: net.IP{77, 247, 111, 138}},
{Region: "Estonia", ServerName: "talinn402", Protocol: "udp", PortForward: true, IP: net.IP{95, 153, 31, 68}},
{Region: "Estonia", ServerName: "talinn402", Protocol: "udp", PortForward: true, IP: net.IP{95, 153, 31, 75}},
{Region: "Finland", ServerName: "helsinki401", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 23}},
{Region: "Finland", ServerName: "helsinki401", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 27}},
{Region: "Finland", ServerName: "helsinki402", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 57}},
{Region: "Finland", ServerName: "helsinki402", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 57}},
{Region: "Finland", ServerName: "helsinki404", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 93}},
{Region: "Finland", ServerName: "helsinki404", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 84}},
{Region: "France", ServerName: "paris402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 170}},
{Region: "France", ServerName: "paris402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 178}},
{Region: "France", ServerName: "paris404", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 4}},
{Region: "France", ServerName: "paris404", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 4}},
{Region: "France", ServerName: "paris405", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 103}},
{Region: "France", ServerName: "paris405", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 93}},
{Region: "France", ServerName: "paris406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 57, 148}},
{Region: "France", ServerName: "paris406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 57, 165}},
{Region: "France", ServerName: "paris407", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 57, 239}},
{Region: "France", ServerName: "paris407", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 57, 203}},
{Region: "Georgia", ServerName: "georgia403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 236, 6}},
{Region: "Georgia", ServerName: "georgia403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 236, 4}},
{Region: "Greece", ServerName: "athens401", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 87}},
{Region: "Greece", ServerName: "athens401", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 77}},
{Region: "Greece", ServerName: "athens402", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 93}},
{Region: "Greece", ServerName: "athens402", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 96}},
{Region: "Greece", ServerName: "athens403", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 117}},
{Region: "Greece", ServerName: "athens403", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 114}},
{Region: "Greenland", ServerName: "greenland403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 120, 134}},
{Region: "Greenland", ServerName: "greenland403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 120, 131}},
{Region: "Greenland", ServerName: "greenland404", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 120, 148}},
{Region: "Greenland", ServerName: "greenland404", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 120, 156}},
{Region: "Hong Kong", ServerName: "china403", Protocol: "udp", PortForward: true, IP: net.IP{86, 107, 104, 213}},
{Region: "Hong Kong", ServerName: "china403", Protocol: "udp", PortForward: true, IP: net.IP{86, 107, 104, 214}},
{Region: "Hong Kong", ServerName: "hongkong402", Protocol: "udp", PortForward: true, IP: net.IP{86, 107, 104, 244}},
{Region: "Hong Kong", ServerName: "hongkong402", Protocol: "udp", PortForward: true, IP: net.IP{86, 107, 104, 243}},
{Region: "Hong Kong", ServerName: "hongkong403", Protocol: "udp", PortForward: true, IP: net.IP{91, 219, 213, 7}},
{Region: "Hong Kong", ServerName: "hongkong403", Protocol: "udp", PortForward: true, IP: net.IP{91, 219, 213, 18}},
{Region: "Hungary", ServerName: "budapest401", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 192, 218}},
{Region: "Hungary", ServerName: "budapest401", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 192, 222}},
{Region: "Hungary", ServerName: "budapest402", Protocol: "udp", PortForward: true, IP: net.IP{86, 106, 74, 116}},
{Region: "Hungary", ServerName: "budapest402", Protocol: "udp", PortForward: true, IP: net.IP{86, 106, 74, 116}},
{Region: "Iceland", ServerName: "reykjavik401", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 39}},
{Region: "Iceland", ServerName: "reykjavik401", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 37}},
{Region: "Iceland", ServerName: "reykjavik402", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 84}},
{Region: "Iceland", ServerName: "reykjavik402", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 84}},
{Region: "Iceland", ServerName: "reykjavik403", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 76}},
{Region: "Iceland", ServerName: "reykjavik403", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 67}},
{Region: "Iceland", ServerName: "reykjavik404", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 56}},
{Region: "Iceland", ServerName: "reykjavik404", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 56}},
{Region: "India", ServerName: "mumbai401", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 37}},
{Region: "India", ServerName: "mumbai401", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 33}},
{Region: "India", ServerName: "mumbai402", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 128}},
{Region: "India", ServerName: "mumbai402", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 130}},
{Region: "India", ServerName: "mumbai403", Protocol: "udp", PortForward: true, IP: net.IP{103, 150, 187, 4}},
{Region: "India", ServerName: "mumbai403", Protocol: "udp", PortForward: true, IP: net.IP{103, 150, 187, 5}},
{Region: "India", ServerName: "mumbai405", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 88}},
{Region: "India", ServerName: "mumbai405", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 98}},
{Region: "Ireland", ServerName: "dublin404", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 20}},
{Region: "Ireland", ServerName: "dublin404", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 20}},
{Region: "Ireland", ServerName: "dublin405", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 10}},
{Region: "Ireland", ServerName: "dublin405", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 8}},
{Region: "Ireland", ServerName: "dublin407", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 236}},
{Region: "Ireland", ServerName: "dublin407", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 230}},
{Region: "Ireland", ServerName: "dublin410", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 178, 5}},
{Region: "Ireland", ServerName: "dublin410", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 178, 14}},
{Region: "Ireland", ServerName: "dublin411", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 178, 26}},
{Region: "Ireland", ServerName: "dublin411", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 178, 26}},
{Region: "Isle of Man", ServerName: "douglas403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 124, 13}},
{Region: "Isle of Man", ServerName: "douglas403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 124, 9}},
{Region: "Israel", ServerName: "jerusalem402", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 33}},
{Region: "Israel", ServerName: "jerusalem402", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 25}},
{Region: "Israel", ServerName: "jerusalem404", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 50}},
{Region: "Israel", ServerName: "jerusalem404", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 63}},
{Region: "Israel", ServerName: "jerusalem405", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 66}},
{Region: "Israel", ServerName: "jerusalem405", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 76}},
{Region: "Israel", ServerName: "jerusalem406", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 86}},
{Region: "Israel", ServerName: "jerusalem406", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 84}},
{Region: "Israel", ServerName: "jerusalem407", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 98}},
{Region: "Israel", ServerName: "jerusalem407", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 93}},
{Region: "Italy", ServerName: "milano402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 41, 14}},
{Region: "Italy", ServerName: "milano402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 41, 60}},
{Region: "Italy", ServerName: "milano403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 41, 96}},
{Region: "Italy", ServerName: "milano403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 41, 66}},
{Region: "Japan", ServerName: "tokyo401", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 155}},
{Region: "Japan", ServerName: "tokyo401", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 155}},
{Region: "Japan", ServerName: "tokyo402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 117}},
{Region: "Japan", ServerName: "tokyo402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 113}},
{Region: "Japan", ServerName: "tokyo403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 15}},
{Region: "Japan", ServerName: "tokyo403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 46}},
{Region: "Kazakhstan", ServerName: "kazakhstan403", Protocol: "udp", PortForward: true, IP: net.IP{62, 133, 47, 5}},
{Region: "Kazakhstan", ServerName: "kazakhstan403", Protocol: "udp", PortForward: true, IP: net.IP{62, 133, 47, 9}},
{Region: "Latvia", ServerName: "riga401", Protocol: "udp", PortForward: true, IP: net.IP{109, 248, 149, 10}},
{Region: "Latvia", ServerName: "riga401", Protocol: "udp", PortForward: true, IP: net.IP{109, 248, 149, 4}},
{Region: "Latvia", ServerName: "riga402", Protocol: "udp", PortForward: true, IP: net.IP{46, 183, 218, 133}},
{Region: "Latvia", ServerName: "riga402", Protocol: "udp", PortForward: true, IP: net.IP{46, 183, 218, 135}},
{Region: "Latvia", ServerName: "riga403", Protocol: "udp", PortForward: true, IP: net.IP{46, 183, 218, 153}},
{Region: "Latvia", ServerName: "riga403", Protocol: "udp", PortForward: true, IP: net.IP{46, 183, 218, 154}},
{Region: "Liechtenstein", ServerName: "liechtenstein403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 122, 8}},
{Region: "Liechtenstein", ServerName: "liechtenstein403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 122, 4}},
{Region: "Lithuania", ServerName: "vilnius401", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 173}},
{Region: "Lithuania", ServerName: "vilnius401", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 173}},
{Region: "Lithuania", ServerName: "vilnius402", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 103}},
{Region: "Lithuania", ServerName: "vilnius402", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 106}},
{Region: "Lithuania", ServerName: "vilnius403", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 123}},
{Region: "Lithuania", ServerName: "vilnius403", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 123}},
{Region: "Luxembourg", ServerName: "luxembourg404", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 110}},
{Region: "Luxembourg", ServerName: "luxembourg404", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 109}},
{Region: "Luxembourg", ServerName: "luxembourg405", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 118}},
{Region: "Luxembourg", ServerName: "luxembourg405", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 119}},
{Region: "Luxembourg", ServerName: "luxembourg406", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 133}},
{Region: "Luxembourg", ServerName: "luxembourg406", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 136}},
{Region: "Luxembourg", ServerName: "luxembourg407", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 156}},
{Region: "Luxembourg", ServerName: "luxembourg407", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 153}},
{Region: "Macao", ServerName: "macau403", Protocol: "udp", PortForward: true, IP: net.IP{84, 252, 92, 4}},
{Region: "Macao", ServerName: "macau403", Protocol: "udp", PortForward: true, IP: net.IP{84, 252, 92, 4}},
{Region: "Macedonia", ServerName: "macedonia401", Protocol: "udp", PortForward: true, IP: net.IP{185, 225, 28, 120}},
{Region: "Macedonia", ServerName: "macedonia401", Protocol: "udp", PortForward: true, IP: net.IP{185, 225, 28, 120}},
{Region: "Macedonia", ServerName: "macedonia402", Protocol: "udp", PortForward: true, IP: net.IP{185, 225, 28, 140}},
{Region: "Macedonia", ServerName: "macedonia402", Protocol: "udp", PortForward: true, IP: net.IP{185, 225, 28, 141}},
{Region: "Malta", ServerName: "malta403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 230, 5}},
{Region: "Malta", ServerName: "malta403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 230, 7}},
{Region: "Mexico", ServerName: "mexico403", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 15}},
{Region: "Mexico", ServerName: "mexico403", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 10}},
{Region: "Mexico", ServerName: "mexico404", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 24}},
{Region: "Mexico", ServerName: "mexico404", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 26}},
{Region: "Mexico", ServerName: "mexico407", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 71}},
{Region: "Mexico", ServerName: "mexico407", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 64}},
{Region: "Mexico", ServerName: "mexico409", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 97}},
{Region: "Mexico", ServerName: "mexico409", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 96}},
{Region: "Mexico", ServerName: "mexico412", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 205}},
{Region: "Mexico", ServerName: "mexico412", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 199}},
{Region: "Moldova", ServerName: "chisinau401", Protocol: "udp", PortForward: true, IP: net.IP{178, 175, 129, 39}},
{Region: "Moldova", ServerName: "chisinau401", Protocol: "udp", PortForward: true, IP: net.IP{178, 175, 129, 44}},
{Region: "Monaco", ServerName: "monaco403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 233, 4}},
{Region: "Monaco", ServerName: "monaco403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 233, 3}},
{Region: "Mongolia", ServerName: "mongolia403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 163, 14}},
{Region: "Mongolia", ServerName: "mongolia403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 163, 3}},
{Region: "Montenegro", ServerName: "montenegro403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 229, 15}},
{Region: "Montenegro", ServerName: "montenegro403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 229, 9}},
{Region: "Morocco", ServerName: "morocco403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 232, 4}},
{Region: "Morocco", ServerName: "morocco403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 232, 12}},
{Region: "Netherlands", ServerName: "amsterdam401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 35, 25}},
{Region: "Netherlands", ServerName: "amsterdam401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 35, 27}},
{Region: "Netherlands", ServerName: "amsterdam402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 34, 147}},
{Region: "Netherlands", ServerName: "amsterdam402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 34, 156}},
{Region: "Netherlands", ServerName: "amsterdam403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 34, 170}},
{Region: "Netherlands", ServerName: "amsterdam403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 34, 220}},
{Region: "Netherlands", ServerName: "amsterdam408", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 43, 187}},
{Region: "Netherlands", ServerName: "amsterdam408", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 43, 187}},
{Region: "Netherlands", ServerName: "amsterdam420", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 41, 17}},
{Region: "Netherlands", ServerName: "amsterdam420", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 41, 25}},
{Region: "New Zealand", ServerName: "newzealand403", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 207, 88}},
{Region: "New Zealand", ServerName: "newzealand403", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 207, 84}},
{Region: "New Zealand", ServerName: "newzealand404", Protocol: "udp", PortForward: true, IP: net.IP{202, 60, 86, 27}},
{Region: "New Zealand", ServerName: "newzealand404", Protocol: "udp", PortForward: true, IP: net.IP{202, 60, 86, 15}},
{Region: "New Zealand", ServerName: "newzealand405", Protocol: "udp", PortForward: true, IP: net.IP{202, 60, 86, 99}},
{Region: "New Zealand", ServerName: "newzealand405", Protocol: "udp", PortForward: true, IP: net.IP{202, 60, 86, 118}},
{Region: "Nigeria", ServerName: "nigeria403", Protocol: "udp", PortForward: true, IP: net.IP{102, 165, 25, 84}},
{Region: "Nigeria", ServerName: "nigeria403", Protocol: "udp", PortForward: true, IP: net.IP{102, 165, 25, 90}},
{Region: "Nigeria", ServerName: "nigeria404", Protocol: "udp", PortForward: true, IP: net.IP{102, 165, 25, 126}},
{Region: "Nigeria", ServerName: "nigeria404", Protocol: "udp", PortForward: true, IP: net.IP{102, 165, 25, 117}},
{Region: "Norway", ServerName: "oslo401", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 35}},
{Region: "Norway", ServerName: "oslo401", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 39}},
{Region: "Norway", ServerName: "oslo402", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 85}},
{Region: "Norway", ServerName: "oslo402", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 69}},
{Region: "Norway", ServerName: "oslo403", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 107}},
{Region: "Norway", ServerName: "oslo403", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 125}},
{Region: "Norway", ServerName: "oslo404", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 167}},
{Region: "Norway", ServerName: "oslo404", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 176}},
{Region: "Panama", ServerName: "panama403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 126, 14}},
{Region: "Panama", ServerName: "panama403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 126, 4}},
{Region: "Panama", ServerName: "panama404", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 126, 29}},
{Region: "Panama", ServerName: "panama404", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 126, 23}},
{Region: "Philippines", ServerName: "philippines401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 125, 135}},
{Region: "Philippines", ServerName: "philippines401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 125, 134}},
{Region: "Philippines", ServerName: "philippines402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 125, 147}},
{Region: "Philippines", ServerName: "philippines402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 125, 149}},
{Region: "Poland", ServerName: "warsaw401", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 209, 244}},
{Region: "Poland", ServerName: "warsaw401", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 209, 242}},
{Region: "Poland", ServerName: "warsaw402", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 13}},
{Region: "Poland", ServerName: "warsaw402", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 4}},
{Region: "Poland", ServerName: "warsaw405", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 55}},
{Region: "Poland", ServerName: "warsaw405", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 53}},
{Region: "Poland", ServerName: "warsaw406", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 68}},
{Region: "Poland", ServerName: "warsaw406", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 69}},
{Region: "Poland", ServerName: "warsaw409", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 119}},
{Region: "Poland", ServerName: "warsaw409", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 115}},
{Region: "Portugal", ServerName: "lisbon401", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 75}},
{Region: "Portugal", ServerName: "lisbon401", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 82}},
{Region: "Portugal", ServerName: "lisbon402", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 99}},
{Region: "Portugal", ServerName: "lisbon402", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 96}},
{Region: "Portugal", ServerName: "lisbon403", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 133}},
{Region: "Portugal", ServerName: "lisbon403", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 145}},
{Region: "Portugal", ServerName: "lisbon404", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 115}},
{Region: "Portugal", ServerName: "lisbon404", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 103}},
{Region: "Qatar", ServerName: "qatar403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 234, 8}},
{Region: "Qatar", ServerName: "qatar403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 234, 6}},
{Region: "Romania", ServerName: "romania406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 52, 19}},
{Region: "Romania", ServerName: "romania406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 52, 33}},
{Region: "Romania", ServerName: "romania407", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 153}},
{Region: "Romania", ServerName: "romania407", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 154}},
{Region: "Romania", ServerName: "romania408", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 70}},
{Region: "Romania", ServerName: "romania408", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 116}},
{Region: "Romania", ServerName: "romania409", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 43}},
{Region: "Romania", ServerName: "romania409", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 43}},
{Region: "Saudi Arabia", ServerName: "saudiarabia403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 235, 16}},
{Region: "Saudi Arabia", ServerName: "saudiarabia403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 235, 16}},
{Region: "Serbia", ServerName: "belgrade401", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 193, 254}},
{Region: "Serbia", ServerName: "belgrade401", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 193, 243}},
{Region: "Serbia", ServerName: "belgrade402", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 193, 237}},
{Region: "Serbia", ServerName: "belgrade402", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 193, 229}},
{Region: "Singapore", ServerName: "singapore401", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 175}},
{Region: "Singapore", ServerName: "singapore401", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 178}},
{Region: "Singapore", ServerName: "singapore402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 108}},
{Region: "Singapore", ServerName: "singapore402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 160}},
{Region: "Singapore", ServerName: "singapore403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 89}},
{Region: "Singapore", ServerName: "singapore403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 89}},
{Region: "Slovakia", ServerName: "bratislava401", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 221, 84}},
{Region: "Slovakia", ServerName: "bratislava401", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 221, 86}},
{Region: "Slovakia", ServerName: "bratislava402", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 221, 214}},
{Region: "Slovakia", ServerName: "bratislava402", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 221, 217}},
{Region: "South Africa", ServerName: "johannesburg401", Protocol: "udp", PortForward: true, IP: net.IP{154, 16, 93, 34}},
{Region: "South Africa", ServerName: "johannesburg401", Protocol: "udp", PortForward: true, IP: net.IP{154, 16, 93, 35}},
{Region: "South Africa", ServerName: "johannesburg403", Protocol: "udp", PortForward: true, IP: net.IP{154, 16, 93, 234}},
{Region: "South Africa", ServerName: "johannesburg403", Protocol: "udp", PortForward: true, IP: net.IP{154, 16, 93, 233}},
{Region: "Spain", ServerName: "madrid401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 49, 106}},
{Region: "Spain", ServerName: "madrid401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 49, 116}},
{Region: "Spain", ServerName: "madrid402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 49, 34}},
{Region: "Spain", ServerName: "madrid402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 49, 25}},
{Region: "Sri Lanka", ServerName: "srilanka403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 239, 9}},
{Region: "Sri Lanka", ServerName: "srilanka403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 239, 10}},
{Region: "Sweden", ServerName: "stockholm401", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 33}},
{Region: "Sweden", ServerName: "stockholm401", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 14}},
{Region: "Sweden", ServerName: "stockholm402", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 59}},
{Region: "Sweden", ServerName: "stockholm402", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 60}},
{Region: "Sweden", ServerName: "stockholm403", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 103}},
{Region: "Sweden", ServerName: "stockholm403", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 84}},
{Region: "Sweden", ServerName: "stockholm404", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 129}},
{Region: "Sweden", ServerName: "stockholm404", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 118}},
{Region: "Sweden", ServerName: "stockholm405", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 3, 204}},
{Region: "Sweden", ServerName: "stockholm405", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 3, 190}},
{Region: "Switzerland", ServerName: "zurich403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 37, 116}},
{Region: "Switzerland", ServerName: "zurich403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 37, 156}},
{Region: "Switzerland", ServerName: "zurich404", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 37, 105}},
{Region: "Switzerland", ServerName: "zurich404", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 37, 100}},
{Region: "Switzerland", ServerName: "zurich405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 16}},
{Region: "Switzerland", ServerName: "zurich405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 16}},
{Region: "Switzerland", ServerName: "zurich407", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 163}},
{Region: "Switzerland", ServerName: "zurich407", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 163}},
{Region: "Switzerland", ServerName: "zurich408", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 184}},
{Region: "Switzerland", ServerName: "zurich408", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 175}},
{Region: "Taiwan", ServerName: "taiwan401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 69}},
{Region: "Taiwan", ServerName: "taiwan401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 68}},
{Region: "Taiwan", ServerName: "taiwan402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 89}},
{Region: "Taiwan", ServerName: "taiwan402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 89}},
{Region: "Taiwan", ServerName: "taiwan403", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 144}},
{Region: "Taiwan", ServerName: "taiwan403", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 140}},
{Region: "Turkey", ServerName: "istanbul401", Protocol: "udp", PortForward: true, IP: net.IP{188, 213, 34, 70}},
{Region: "Turkey", ServerName: "istanbul401", Protocol: "udp", PortForward: true, IP: net.IP{188, 213, 34, 73}},
{Region: "Turkey", ServerName: "istanbul402", Protocol: "udp", PortForward: true, IP: net.IP{188, 213, 34, 85}},
{Region: "Turkey", ServerName: "istanbul402", Protocol: "udp", PortForward: true, IP: net.IP{188, 213, 34, 86}},
{Region: "UK London", ServerName: "london402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 63, 170}},
{Region: "UK London", ServerName: "london402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 63, 140}},
{Region: "UK London", ServerName: "london404", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 52, 86}},
{Region: "UK London", ServerName: "london404", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 52, 94}},
{Region: "UK London", ServerName: "london405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 53}},
{Region: "UK London", ServerName: "london405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 26}},
{Region: "UK London", ServerName: "london412", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 96, 77}},
{Region: "UK London", ServerName: "london412", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 96, 90}},
{Region: "UK London", ServerName: "london414", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 230}},
{Region: "UK London", ServerName: "london414", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 194}},
{Region: "UK London - Streaming Optimized", ServerName: "london419", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 97, 19}},
{Region: "UK London - Streaming Optimized", ServerName: "london419", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 97, 16}},
{Region: "UK London - Streaming Optimized", ServerName: "london420", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 96, 203}},
{Region: "UK London - Streaming Optimized", ServerName: "london420", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 96, 199}},
{Region: "UK London - Streaming Optimized", ServerName: "london429", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 139}},
{Region: "UK London - Streaming Optimized", ServerName: "london429", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 133}},
{Region: "UK London - Streaming Optimized", ServerName: "london430", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 146}},
{Region: "UK London - Streaming Optimized", ServerName: "london430", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 146}},
{Region: "UK London - Streaming Optimized", ServerName: "london431", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 160}},
{Region: "UK London - Streaming Optimized", ServerName: "london431", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 164}},
{Region: "UK Manchester", ServerName: "manchester403", Protocol: "udp", PortForward: true, IP: net.IP{193, 239, 84, 66}},
{Region: "UK Manchester", ServerName: "manchester403", Protocol: "udp", PortForward: true, IP: net.IP{193, 239, 84, 76}},
{Region: "UK Manchester", ServerName: "manchester406", Protocol: "udp", PortForward: true, IP: net.IP{89, 44, 201, 245}},
{Region: "UK Manchester", ServerName: "manchester406", Protocol: "udp", PortForward: true, IP: net.IP{89, 44, 201, 245}},
{Region: "UK Manchester", ServerName: "manchester408", Protocol: "udp", PortForward: true, IP: net.IP{89, 44, 201, 217}},
{Region: "UK Manchester", ServerName: "manchester408", Protocol: "udp", PortForward: true, IP: net.IP{89, 44, 201, 210}},
{Region: "UK Manchester", ServerName: "manchester409", Protocol: "udp", PortForward: true, IP: net.IP{194, 37, 96, 18}},
{Region: "UK Manchester", ServerName: "manchester409", Protocol: "udp", PortForward: true, IP: net.IP{194, 37, 96, 29}},
{Region: "UK Manchester", ServerName: "manchester414", Protocol: "udp", PortForward: true, IP: net.IP{194, 37, 96, 198}},
{Region: "UK Manchester", ServerName: "manchester414", Protocol: "udp", PortForward: true, IP: net.IP{194, 37, 96, 206}},
{Region: "UK Southampton", ServerName: "southampton401", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 37, 208}},
{Region: "UK Southampton", ServerName: "southampton401", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 37, 228}},
{Region: "UK Southampton", ServerName: "southampton402", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 37, 144}},
{Region: "UK Southampton", ServerName: "southampton402", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 37, 175}},
{Region: "UK Southampton", ServerName: "southampton405", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 36, 104}},
{Region: "UK Southampton", ServerName: "southampton405", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 36, 113}},
{Region: "UK Southampton", ServerName: "southampton406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 38, 109}},
{Region: "UK Southampton", ServerName: "southampton406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 38, 109}},
{Region: "UK Southampton", ServerName: "southampton410", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 85}},
{Region: "UK Southampton", ServerName: "southampton410", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 84}},
{Region: "US Atlanta", ServerName: "atlanta412", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 22, 59}},
{Region: "US Atlanta", ServerName: "atlanta412", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 22, 39}},
{Region: "US Atlanta", ServerName: "atlanta418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 22, 229}},
{Region: "US Atlanta", ServerName: "atlanta418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 22, 233}},
{Region: "US Atlanta", ServerName: "atlanta419", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 25}},
{Region: "US Atlanta", ServerName: "atlanta419", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 33}},
{Region: "US Atlanta", ServerName: "atlanta421", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 74}},
{Region: "US Atlanta", ServerName: "atlanta421", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 88}},
{Region: "US Atlanta", ServerName: "atlanta422", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 103}},
{Region: "US Atlanta", ServerName: "atlanta422", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 129}},
{Region: "US California", ServerName: "losangeles401", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 48, 24}},
{Region: "US California", ServerName: "losangeles401", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 48, 36}},
{Region: "US California", ServerName: "losangeles402", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 49, 33}},
{Region: "US California", ServerName: "losangeles402", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 49, 43}},
{Region: "US California", ServerName: "losangeles404", Protocol: "udp", PortForward: false, IP: net.IP{84, 17, 45, 40}},
{Region: "US California", ServerName: "losangeles404", Protocol: "udp", PortForward: false, IP: net.IP{84, 17, 45, 3}},
{Region: "US California", ServerName: "losangeles409", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 49, 166}},
{Region: "US California", ServerName: "losangeles409", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 49, 166}},
{Region: "US California", ServerName: "losangeles418", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 8, 93}},
{Region: "US California", ServerName: "losangeles418", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 8, 94}},
{Region: "US Chicago", ServerName: "chicago407", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 28, 73}},
{Region: "US Chicago", ServerName: "chicago407", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 28, 88}},
{Region: "US Chicago", ServerName: "chicago410", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 28, 220}},
{Region: "US Chicago", ServerName: "chicago410", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 28, 249}},
{Region: "US Chicago", ServerName: "chicago411", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 23, 9}},
{Region: "US Chicago", ServerName: "chicago411", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 23, 6}},
{Region: "US Chicago", ServerName: "chicago412", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 23, 64}},
{Region: "US Chicago", ServerName: "chicago412", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 23, 60}},
{Region: "US Chicago", ServerName: "chicago418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 114, 126}},
{Region: "US Chicago", ServerName: "chicago418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 114, 108}},
{Region: "US Denver", ServerName: "denver401", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 81, 148}},
{Region: "US Denver", ServerName: "denver401", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 81, 154}},
{Region: "US Denver", ServerName: "denver402", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 126, 175}},
{Region: "US Denver", ServerName: "denver402", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 126, 174}},
{Region: "US Denver", ServerName: "denver405", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 110, 125}},
{Region: "US Denver", ServerName: "denver405", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 110, 125}},
{Region: "US Denver", ServerName: "denver406", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 77, 166}},
{Region: "US Denver", ServerName: "denver406", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 77, 183}},
{Region: "US Denver", ServerName: "denver408", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 92, 24}},
{Region: "US Denver", ServerName: "denver408", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 92, 28}},
{Region: "US East", ServerName: "newjersey401", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 73}},
{Region: "US East", ServerName: "newjersey401", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 76}},
{Region: "US East", ServerName: "newjersey402", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 45, 85}},
{Region: "US East", ServerName: "newjersey402", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 45, 105}},
{Region: "US East", ServerName: "newjersey403", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 28}},
{Region: "US East", ServerName: "newjersey403", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 43}},
{Region: "US East", ServerName: "newjersey407", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 47, 156}},
{Region: "US East", ServerName: "newjersey407", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 47, 156}},
{Region: "US East", ServerName: "newjersey413", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 45, 190}},
{Region: "US East", ServerName: "newjersey413", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 45, 196}},
{Region: "US Florida", ServerName: "miami404", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 34, 184}},
{Region: "US Florida", ServerName: "miami404", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 34, 184}},
{Region: "US Florida", ServerName: "miami405", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 34, 208}},
{Region: "US Florida", ServerName: "miami405", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 34, 210}},
{Region: "US Florida", ServerName: "miami406", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 42, 13}},
{Region: "US Florida", ServerName: "miami406", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 42, 30}},
{Region: "US Florida", ServerName: "miami408", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 42, 170}},
{Region: "US Florida", ServerName: "miami408", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 42, 176}},
{Region: "US Florida", ServerName: "miami413", Protocol: "udp", PortForward: false, IP: net.IP{212, 102, 61, 37}},
{Region: "US Florida", ServerName: "miami413", Protocol: "udp", PortForward: false, IP: net.IP{212, 102, 61, 57}},
{Region: "US Houston", ServerName: "houston408", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 139, 99}},
{Region: "US Houston", ServerName: "houston408", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 139, 110}},
{Region: "US Houston", ServerName: "houston409", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 139, 165}},
{Region: "US Houston", ServerName: "houston409", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 139, 166}},
{Region: "US Houston", ServerName: "houston415", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 142, 60}},
{Region: "US Houston", ServerName: "houston415", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 142, 57}},
{Region: "US Houston", ServerName: "houston416", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 142, 105}},
{Region: "US Houston", ServerName: "houston416", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 142, 107}},
{Region: "US Houston", ServerName: "houston418", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 154, 208}},
{Region: "US Houston", ServerName: "houston418", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 154, 205}},
{Region: "US Las Vegas", ServerName: "lasvegas401", Protocol: "udp", PortForward: false, IP: net.IP{173, 239, 226, 38}},
{Region: "US Las Vegas", ServerName: "lasvegas401", Protocol: "udp", PortForward: false, IP: net.IP{173, 239, 226, 38}},
{Region: "US Las Vegas", ServerName: "lasvegas402", Protocol: "udp", PortForward: false, IP: net.IP{45, 89, 173, 180}},
{Region: "US Las Vegas", ServerName: "lasvegas402", Protocol: "udp", PortForward: false, IP: net.IP{45, 89, 173, 179}},
{Region: "US Las Vegas", ServerName: "lasvegas405", Protocol: "udp", PortForward: false, IP: net.IP{82, 102, 31, 105}},
{Region: "US Las Vegas", ServerName: "lasvegas405", Protocol: "udp", PortForward: false, IP: net.IP{82, 102, 31, 108}},
{Region: "US Las Vegas", ServerName: "lasvegas406", Protocol: "udp", PortForward: false, IP: net.IP{82, 102, 31, 188}},
{Region: "US Las Vegas", ServerName: "lasvegas406", Protocol: "udp", PortForward: false, IP: net.IP{82, 102, 31, 183}},
{Region: "US Las Vegas", ServerName: "lasvegas410", Protocol: "udp", PortForward: false, IP: net.IP{79, 110, 53, 247}},
{Region: "US Las Vegas", ServerName: "lasvegas410", Protocol: "udp", PortForward: false, IP: net.IP{79, 110, 53, 243}},
{Region: "US New York", ServerName: "newjersey414", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 10, 47}},
{Region: "US New York", ServerName: "newjersey414", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 10, 30}},
{Region: "US New York", ServerName: "newyork404", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 238}},
{Region: "US New York", ServerName: "newyork404", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 208}},
{Region: "US New York", ServerName: "newyork409", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 55, 244}},
{Region: "US New York", ServerName: "newyork409", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 55, 244}},
{Region: "US New York", ServerName: "newyork413", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 54, 30}},
{Region: "US New York", ServerName: "newyork413", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 54, 39}},
{Region: "US New York", ServerName: "newyork420", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 10, 83}},
{Region: "US New York", ServerName: "newyork420", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 10, 67}},
{Region: "US Seattle", ServerName: "seattle406", Protocol: "udp", PortForward: false, IP: net.IP{154, 9, 128, 66}},
{Region: "US Seattle", ServerName: "seattle406", Protocol: "udp", PortForward: false, IP: net.IP{154, 9, 128, 65}},
{Region: "US Seattle", ServerName: "seattle413", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 56}},
{Region: "US Seattle", ServerName: "seattle413", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 40}},
{Region: "US Seattle", ServerName: "seattle417", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 163}},
{Region: "US Seattle", ServerName: "seattle417", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 170}},
{Region: "US Seattle", ServerName: "seattle418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 196}},
{Region: "US Seattle", ServerName: "seattle418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 213}},
{Region: "US Seattle", ServerName: "seattle423", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 48, 175}},
{Region: "US Seattle", ServerName: "seattle423", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 48, 193}},
{Region: "US Silicon Valley", ServerName: "siliconvalley403", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 212, 98}},
{Region: "US Silicon Valley", ServerName: "siliconvalley403", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 212, 98}},
{Region: "US Silicon Valley", ServerName: "siliconvalley407", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 212, 203}},
{Region: "US Silicon Valley", ServerName: "siliconvalley407", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 212, 203}},
{Region: "US Silicon Valley", ServerName: "siliconvalley414", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 33}},
{Region: "US Silicon Valley", ServerName: "siliconvalley414", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 26}},
{Region: "US Silicon Valley", ServerName: "siliconvalley415", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 53}},
{Region: "US Silicon Valley", ServerName: "siliconvalley415", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 93}},
{Region: "US Silicon Valley", ServerName: "siliconvalley417", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 165}},
{Region: "US Silicon Valley", ServerName: "siliconvalley417", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 159}},
{Region: "US Texas", ServerName: "dallas404", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 49}},
{Region: "US Texas", ServerName: "dallas404", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 36}},
{Region: "US Texas", ServerName: "dallas405", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 79}},
{Region: "US Texas", ServerName: "dallas405", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 65}},
{Region: "US Texas", ServerName: "dallas407", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 149}},
{Region: "US Texas", ServerName: "dallas407", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 155}},
{Region: "US Texas", ServerName: "dallas414", Protocol: "udp", PortForward: false, IP: net.IP{154, 29, 131, 229}},
{Region: "US Texas", ServerName: "dallas414", Protocol: "udp", PortForward: false, IP: net.IP{154, 29, 131, 229}},
{Region: "US Texas", ServerName: "dallas417", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 250, 99}},
{Region: "US Texas", ServerName: "dallas417", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 250, 103}},
{Region: "US Washington DC", ServerName: "washington435", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 44, 126}},
{Region: "US Washington DC", ServerName: "washington435", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 44, 126}},
{Region: "US Washington DC", ServerName: "washington436", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 44, 147}},
{Region: "US Washington DC", ServerName: "washington436", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 44, 149}},
{Region: "US Washington DC", ServerName: "washington440", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 10}},
{Region: "US Washington DC", ServerName: "washington440", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 27}},
{Region: "US Washington DC", ServerName: "washington444", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 157}},
{Region: "US Washington DC", ServerName: "washington444", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 147}},
{Region: "US Washington DC", ServerName: "washington445", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 190}},
{Region: "US Washington DC", ServerName: "washington445", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 164}},
{Region: "US West", ServerName: "phoenix406", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 241, 49}},
{Region: "US West", ServerName: "phoenix406", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 241, 6}},
{Region: "US West", ServerName: "phoenix407", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 241, 76}},
{Region: "US West", ServerName: "phoenix407", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 241, 110}},
{Region: "US West", ServerName: "phoenix410", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 252, 193}},
{Region: "US West", ServerName: "phoenix410", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 252, 193}},
{Region: "US West", ServerName: "phoenix412", Protocol: "udp", PortForward: false, IP: net.IP{107, 181, 184, 210}},
{Region: "US West", ServerName: "phoenix412", Protocol: "udp", PortForward: false, IP: net.IP{107, 181, 184, 210}},
{Region: "US West", ServerName: "phoenix414", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 242, 155}},
{Region: "US West", ServerName: "phoenix414", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 242, 155}},
{Region: "Ukraine", ServerName: "kiev401", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 58}},
{Region: "Ukraine", ServerName: "kiev401", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 55}},
{Region: "Ukraine", ServerName: "kiev402", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 28}},
{Region: "Ukraine", ServerName: "kiev402", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 23}},
{Region: "Ukraine", ServerName: "kiev403", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 5}},
{Region: "Ukraine", ServerName: "kiev403", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 4}},
{Region: "Ukraine", ServerName: "kiev404", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 44}},
{Region: "Ukraine", ServerName: "kiev404", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 44}},
{Region: "United Arab Emirates", ServerName: "dubai403", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 193, 153}},
{Region: "United Arab Emirates", ServerName: "dubai403", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 193, 156}},
{Region: "United Arab Emirates", ServerName: "dubai404", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 193, 173}},
{Region: "United Arab Emirates", ServerName: "dubai404", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 193, 164}},
{Region: "Venezuela", ServerName: "venezuela403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 237, 5}},
{Region: "Venezuela", ServerName: "venezuela403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 237, 3}},
{Region: "Venezuela", ServerName: "venezuela404", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 237, 15}},
{Region: "Venezuela", ServerName: "venezuela404", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 237, 17}},
{Region: "Vietnam", ServerName: "vietnam401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 152, 70}},
{Region: "Vietnam", ServerName: "vietnam401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 152, 77}},
{Region: "Vietnam", ServerName: "vietnam402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 152, 93}},
{Region: "Vietnam", ServerName: "vietnam402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 152, 88}},
{Region: "AU Melbourne", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "melbourne404", IPs: []net.IP{{103, 2, 198, 93}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "melbourne404", IPs: []net.IP{{103, 2, 198, 85}}}},
{Region: "AU Perth", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "perth403", IPs: []net.IP{{43, 250, 205, 156}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "perth403", IPs: []net.IP{{43, 250, 205, 153}}}},
{Region: "AU Sydney", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "sydney408", IPs: []net.IP{{117, 120, 10, 56}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "sydney408", IPs: []net.IP{{117, 120, 10, 48}}}},
{Region: "Albania", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "tirana402", IPs: []net.IP{{31, 171, 154, 115}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "tirana402", IPs: []net.IP{{31, 171, 154, 118}}}},
{Region: "Algeria", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "algiers404", IPs: []net.IP{{176, 125, 228, 19}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "algiers404", IPs: []net.IP{{176, 125, 228, 26}}}},
{Region: "Andorra", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "andorra405", IPs: []net.IP{{188, 241, 82, 40}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "andorra405", IPs: []net.IP{{188, 241, 82, 37}}}},
{Region: "Argentina", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "buenosaires401", IPs: []net.IP{{190, 106, 134, 95}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "buenosaires401", IPs: []net.IP{{190, 106, 134, 85}}}},
{Region: "Armenia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "armenia403", IPs: []net.IP{{185, 253, 160, 3}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "armenia403", IPs: []net.IP{{185, 253, 160, 9}}}},
{Region: "Austria", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "vienna403", IPs: []net.IP{{156, 146, 60, 108}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "vienna403", IPs: []net.IP{{156, 146, 60, 110}}}},
{Region: "Bahamas", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "bahamas404", IPs: []net.IP{{95, 181, 238, 9}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "bahamas404", IPs: []net.IP{{95, 181, 238, 9}}}},
{Region: "Bangladesh", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "bangladesh403", IPs: []net.IP{{84, 252, 93, 7}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "bangladesh403", IPs: []net.IP{{84, 252, 93, 7}}}},
{Region: "Belgium", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "brussels404", IPs: []net.IP{{37, 120, 143, 156}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "brussels404", IPs: []net.IP{{37, 120, 143, 156}}}},
{Region: "Bosnia and Herzegovina", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "sarajevo402", IPs: []net.IP{{185, 212, 111, 4}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "sarajevo402", IPs: []net.IP{{185, 212, 111, 71}}}},
{Region: "Brazil", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "saopaolo401", IPs: []net.IP{{45, 133, 180, 236}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "saopaolo401", IPs: []net.IP{{45, 133, 180, 227}}}},
{Region: "Bulgaria", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "sofia402", IPs: []net.IP{{217, 138, 221, 89}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "sofia402", IPs: []net.IP{{217, 138, 221, 89}}}},
{Region: "CA Montreal", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "montreal410", IPs: []net.IP{{199, 36, 223, 210}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "montreal410", IPs: []net.IP{{199, 36, 223, 210}}}},
{Region: "CA Ontario", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "ontario408", IPs: []net.IP{{172, 98, 92, 87}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "ontario408", IPs: []net.IP{{172, 98, 92, 80}}}},
{Region: "CA Toronto", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "toronto402", IPs: []net.IP{{66, 115, 142, 58}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "toronto402", IPs: []net.IP{{66, 115, 142, 58}}}},
{Region: "CA Vancouver", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "vancouver411", IPs: []net.IP{{208, 78, 42, 168}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "vancouver411", IPs: []net.IP{{208, 78, 42, 161}}}},
{Region: "Cambodia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "cambodia401", IPs: []net.IP{{188, 215, 235, 109}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "cambodia401", IPs: []net.IP{{188, 215, 235, 110}}}},
{Region: "China", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "china404", IPs: []net.IP{{188, 241, 80, 9}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "china404", IPs: []net.IP{{188, 241, 80, 4}}}},
{Region: "Cyprus", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "cyprus403", IPs: []net.IP{{185, 253, 162, 8}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "cyprus403", IPs: []net.IP{{185, 253, 162, 14}}}},
{Region: "Czech Republic", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "prague405", IPs: []net.IP{{143, 244, 59, 168}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "prague405", IPs: []net.IP{{143, 244, 59, 154}}}},
{Region: "DE Berlin", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "berlin425", IPs: []net.IP{{154, 13, 1, 148}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "berlin425", IPs: []net.IP{{154, 13, 1, 146}}}},
{Region: "DE Frankfurt", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "frankfurt440", IPs: []net.IP{{185, 216, 33, 165}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "frankfurt440", IPs: []net.IP{{185, 216, 33, 166}}}},
{Region: "Denmark", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "copenhagen404", IPs: []net.IP{{188, 126, 94, 190}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "copenhagen404", IPs: []net.IP{{188, 126, 94, 165}}}},
{Region: "Egypt", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "cairo402", IPs: []net.IP{{188, 214, 122, 126}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "cairo402", IPs: []net.IP{{188, 214, 122, 123}}}},
{Region: "Estonia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "talinn402", IPs: []net.IP{{95, 153, 31, 68}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "talinn402", IPs: []net.IP{{95, 153, 31, 78}}}},
{Region: "Finland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "helsinki402", IPs: []net.IP{{188, 126, 89, 45}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "helsinki402", IPs: []net.IP{{188, 126, 89, 35}}}},
{Region: "France", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "paris406", IPs: []net.IP{{143, 244, 57, 169}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "paris406", IPs: []net.IP{{143, 244, 57, 169}}}},
{Region: "Georgia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "georgia403", IPs: []net.IP{{95, 181, 236, 8}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "georgia403", IPs: []net.IP{{95, 181, 236, 10}}}},
{Region: "Greece", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "athens401", IPs: []net.IP{{154, 57, 3, 87}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "athens401", IPs: []net.IP{{154, 57, 3, 85}}}},
{Region: "Greenland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "greenland404", IPs: []net.IP{{91, 90, 120, 149}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "greenland404", IPs: []net.IP{{91, 90, 120, 147}}}},
{Region: "Hong Kong", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "china403", IPs: []net.IP{{86, 107, 104, 213}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "china403", IPs: []net.IP{{86, 107, 104, 219}}}},
{Region: "Hungary", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "budapest402", IPs: []net.IP{{86, 106, 74, 115}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "budapest402", IPs: []net.IP{{86, 106, 74, 117}}}},
{Region: "Iceland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "reykjavik402", IPs: []net.IP{{45, 133, 193, 83}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "reykjavik402", IPs: []net.IP{{45, 133, 193, 88}}}},
{Region: "India", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "mumbai402", IPs: []net.IP{{45, 120, 139, 138}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "mumbai402", IPs: []net.IP{{45, 120, 139, 127}}}},
{Region: "Ireland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "dublin411", IPs: []net.IP{{188, 241, 178, 23}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "dublin411", IPs: []net.IP{{188, 241, 178, 30}}}},
{Region: "Isle of Man", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "douglas403", IPs: []net.IP{{91, 90, 124, 7}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "douglas403", IPs: []net.IP{{91, 90, 124, 18}}}},
{Region: "Israel", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "jerusalem407", IPs: []net.IP{{185, 77, 248, 91}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "jerusalem407", IPs: []net.IP{{185, 77, 248, 91}}}},
{Region: "Italy", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "milano403", IPs: []net.IP{{156, 146, 41, 74}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "milano403", IPs: []net.IP{{156, 146, 41, 84}}}},
{Region: "Japan", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "tokyo401", IPs: []net.IP{{156, 146, 34, 130}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "tokyo401", IPs: []net.IP{{156, 146, 34, 130}}}},
{Region: "Kazakhstan", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "kazakhstan403", IPs: []net.IP{{62, 133, 47, 13}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "kazakhstan403", IPs: []net.IP{{62, 133, 47, 5}}}},
{Region: "Latvia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "riga401", IPs: []net.IP{{109, 248, 149, 5}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "riga401", IPs: []net.IP{{109, 248, 149, 8}}}},
{Region: "Liechtenstein", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "liechtenstein403", IPs: []net.IP{{91, 90, 122, 7}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "liechtenstein403", IPs: []net.IP{{91, 90, 122, 18}}}},
{Region: "Lithuania", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "vilnius403", IPs: []net.IP{{85, 206, 165, 118}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "vilnius403", IPs: []net.IP{{85, 206, 165, 116}}}},
{Region: "Luxembourg", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "luxembourg407", IPs: []net.IP{{5, 253, 204, 150}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "luxembourg407", IPs: []net.IP{{5, 253, 204, 155}}}},
{Region: "Macao", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "macau403", IPs: []net.IP{{84, 252, 92, 6}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "macau403", IPs: []net.IP{{84, 252, 92, 15}}}},
{Region: "Macedonia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "macedonia401", IPs: []net.IP{{185, 225, 28, 120}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "macedonia401", IPs: []net.IP{{185, 225, 28, 120}}}},
{Region: "Malta", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "malta403", IPs: []net.IP{{176, 125, 230, 13}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "malta403", IPs: []net.IP{{176, 125, 230, 7}}}},
{Region: "Mexico", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "mexico403", IPs: []net.IP{{77, 81, 142, 14}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "mexico403", IPs: []net.IP{{77, 81, 142, 13}}}},
{Region: "Moldova", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "chisinau401", IPs: []net.IP{{178, 175, 129, 44}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "chisinau401", IPs: []net.IP{{178, 175, 129, 46}}}},
{Region: "Monaco", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "monaco403", IPs: []net.IP{{95, 181, 233, 8}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "monaco403", IPs: []net.IP{{95, 181, 233, 5}}}},
{Region: "Mongolia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "mongolia403", IPs: []net.IP{{185, 253, 163, 15}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "mongolia403", IPs: []net.IP{{185, 253, 163, 5}}}},
{Region: "Montenegro", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "montenegro403", IPs: []net.IP{{176, 125, 229, 14}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "montenegro403", IPs: []net.IP{{176, 125, 229, 4}}}},
{Region: "Morocco", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "morocco403", IPs: []net.IP{{95, 181, 232, 4}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "morocco403", IPs: []net.IP{{95, 181, 232, 8}}}},
{Region: "Netherlands", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "amsterdam412", IPs: []net.IP{{143, 244, 41, 196}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "amsterdam412", IPs: []net.IP{{143, 244, 41, 196}}}},
{Region: "New Zealand", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "newzealand403", IPs: []net.IP{{43, 250, 207, 90}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "newzealand403", IPs: []net.IP{{43, 250, 207, 84}}}},
{Region: "Nigeria", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "nigeria403", IPs: []net.IP{{102, 165, 25, 86}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "nigeria403", IPs: []net.IP{{102, 165, 25, 85}}}},
{Region: "Norway", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "oslo401", IPs: []net.IP{{46, 246, 122, 37}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "oslo401", IPs: []net.IP{{46, 246, 122, 60}}}},
{Region: "Panama", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "panama404", IPs: []net.IP{{91, 90, 126, 25}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "panama404", IPs: []net.IP{{91, 90, 126, 28}}}},
{Region: "Philippines", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "philippines401", IPs: []net.IP{{188, 214, 125, 140}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "philippines401", IPs: []net.IP{{188, 214, 125, 137}}}},
{Region: "Poland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "warsaw409", IPs: []net.IP{{194, 110, 114, 119}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "warsaw409", IPs: []net.IP{{194, 110, 114, 118}}}},
{Region: "Portugal", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "lisbon402", IPs: []net.IP{{89, 26, 241, 87}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "lisbon402", IPs: []net.IP{{89, 26, 241, 88}}}},
{Region: "Qatar", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "qatar403", IPs: []net.IP{{95, 181, 234, 9}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "qatar403", IPs: []net.IP{{95, 181, 234, 8}}}},
{Region: "Romania", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "romania408", IPs: []net.IP{{143, 244, 54, 117}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "romania408", IPs: []net.IP{{143, 244, 54, 116}}}},
{Region: "Saudi Arabia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "saudiarabia403", IPs: []net.IP{{95, 181, 235, 8}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "saudiarabia403", IPs: []net.IP{{95, 181, 235, 4}}}},
{Region: "Serbia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "belgrade401", IPs: []net.IP{{37, 120, 193, 250}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "belgrade401", IPs: []net.IP{{37, 120, 193, 249}}}},
{Region: "Singapore", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "singapore401", IPs: []net.IP{{156, 146, 57, 213}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "singapore401", IPs: []net.IP{{156, 146, 57, 197}}}},
{Region: "Slovakia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "bratislava402", IPs: []net.IP{{37, 120, 221, 213}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "bratislava402", IPs: []net.IP{{37, 120, 221, 218}}}},
{Region: "South Africa", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "johannesburg401", IPs: []net.IP{{154, 16, 93, 33}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "johannesburg401", IPs: []net.IP{{154, 16, 93, 46}}}},
{Region: "Spain", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "madrid401", IPs: []net.IP{{212, 102, 49, 68}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "madrid401", IPs: []net.IP{{212, 102, 49, 68}}}},
{Region: "Sri Lanka", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "srilanka403", IPs: []net.IP{{95, 181, 239, 8}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "srilanka403", IPs: []net.IP{{95, 181, 239, 13}}}},
{Region: "Sweden", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "stockholm401", IPs: []net.IP{{195, 246, 120, 4}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "stockholm401", IPs: []net.IP{{195, 246, 120, 39}}}},
{Region: "Switzerland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "zurich407", IPs: []net.IP{{156, 146, 62, 194}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "zurich407", IPs: []net.IP{{156, 146, 62, 194}}}},
{Region: "Taiwan", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "taiwan401", IPs: []net.IP{{188, 214, 106, 74}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "taiwan401", IPs: []net.IP{{188, 214, 106, 69}}}},
{Region: "Turkey", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "istanbul402", IPs: []net.IP{{188, 213, 34, 88}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "istanbul402", IPs: []net.IP{{188, 213, 34, 83}}}},
{Region: "UK London", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "london405", IPs: []net.IP{{212, 102, 53, 15}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "london405", IPs: []net.IP{{212, 102, 53, 60}}}},
{Region: "UK London-2", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "london420", IPs: []net.IP{{37, 235, 96, 200}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "london420", IPs: []net.IP{{37, 235, 96, 206}}}},
{Region: "UK Manchester", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "manchester414", IPs: []net.IP{{194, 37, 96, 194}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "manchester414", IPs: []net.IP{{194, 37, 96, 197}}}},
{Region: "UK Southampton", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "southampton401", IPs: []net.IP{{143, 244, 37, 244}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "southampton401", IPs: []net.IP{{143, 244, 37, 194}}}},
{Region: "US Atlanta", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "atlanta417", IPs: []net.IP{{154, 21, 22, 216}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "atlanta417", IPs: []net.IP{{154, 21, 22, 216}}}},
{Region: "US California", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "losangeles401", IPs: []net.IP{{143, 244, 48, 15}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "losangeles401", IPs: []net.IP{{143, 244, 48, 17}}}},
{Region: "US Chicago", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "chicago413", IPs: []net.IP{{154, 21, 23, 125}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "chicago413", IPs: []net.IP{{154, 21, 23, 137}}}},
{Region: "US Denver", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "denver410", IPs: []net.IP{{174, 128, 227, 24}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "denver410", IPs: []net.IP{{174, 128, 227, 24}}}},
{Region: "US East", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "newjersey405", IPs: []net.IP{{143, 244, 46, 65}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "newjersey405", IPs: []net.IP{{143, 244, 46, 115}}}},
{Region: "US Florida", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "miami407", IPs: []net.IP{{156, 146, 42, 78}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "miami407", IPs: []net.IP{{156, 146, 42, 113}}}},
{Region: "US Houston", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "houston413", IPs: []net.IP{{205, 251, 142, 20}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "houston413", IPs: []net.IP{{205, 251, 142, 20}}}},
{Region: "US Las Vegas", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "lasvegas426", IPs: []net.IP{{196, 53, 64, 175}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "lasvegas426", IPs: []net.IP{{196, 53, 64, 189}}}},
{Region: "US New York", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "newyork404", IPs: []net.IP{{143, 244, 44, 227}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "newyork404", IPs: []net.IP{{143, 244, 44, 208}}}},
{Region: "US Seattle", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "seattle422", IPs: []net.IP{{156, 146, 48, 204}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "seattle422", IPs: []net.IP{{156, 146, 48, 239}}}},
{Region: "US Silicon Valley", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "siliconvalley420", IPs: []net.IP{{66, 115, 165, 93}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "siliconvalley420", IPs: []net.IP{{66, 115, 165, 80}}}},
{Region: "US Texas", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "dallas415", IPs: []net.IP{{154, 3, 250, 16}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "dallas415", IPs: []net.IP{{154, 3, 250, 24}}}},
{Region: "US Washington DC", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "washington452", IPs: []net.IP{{91, 149, 244, 110}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "washington452", IPs: []net.IP{{91, 149, 244, 114}}}},
{Region: "US West", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "phoenix413", IPs: []net.IP{{184, 170, 241, 169}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "phoenix413", IPs: []net.IP{{184, 170, 241, 169}}}},
{Region: "Ukraine", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "kiev403", IPs: []net.IP{{62, 149, 20, 7}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "kiev403", IPs: []net.IP{{62, 149, 20, 4}}}},
{Region: "United Arab Emirates", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "dubai403", IPs: []net.IP{{217, 138, 193, 153}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "dubai403", IPs: []net.IP{{217, 138, 193, 150}}}},
{Region: "Venezuela", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "venezuela403", IPs: []net.IP{{95, 181, 237, 3}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "venezuela403", IPs: []net.IP{{95, 181, 237, 9}}}},
{Region: "Vietnam", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "vietnam401", IPs: []net.IP{{188, 214, 152, 67}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "vietnam401", IPs: []net.IP{{188, 214, 152, 67}}}},
}
}

View File

@@ -37,10 +37,13 @@ func PrivadoServers() []models.PrivadoServer {
{Hostname: "ams-010.vpn.privado.io", IP: net.IP{91, 148, 228, 20}},
{Hostname: "ams-011.vpn.privado.io", IP: net.IP{91, 148, 228, 30}},
{Hostname: "ams-012.vpn.privado.io", IP: net.IP{91, 148, 228, 40}},
{Hostname: "ams-013.vpn.privado.io", IP: net.IP{91, 148, 228, 50}},
{Hostname: "ams-014.vpn.privado.io", IP: net.IP{91, 148, 228, 60}},
{Hostname: "ams-015.vpn.privado.io", IP: net.IP{91, 148, 228, 70}},
{Hostname: "ams-016.vpn.privado.io", IP: net.IP{91, 148, 228, 80}},
{Hostname: "arn-001.vpn.privado.io", IP: net.IP{86, 106, 103, 67}},
{Hostname: "arn-002.vpn.privado.io", IP: net.IP{86, 106, 103, 74}},
{Hostname: "arn-003.vpn.privado.io", IP: net.IP{86, 106, 103, 81}},
{Hostname: "arn-004.vpn.privado.io", IP: net.IP{86, 106, 103, 88}},
{Hostname: "ath-001.vpn.privado.io", IP: net.IP{188, 123, 126, 61}},
{Hostname: "ath-002.vpn.privado.io", IP: net.IP{188, 123, 126, 64}},
{Hostname: "ath-003.vpn.privado.io", IP: net.IP{188, 123, 126, 68}},
@@ -60,23 +63,25 @@ func PrivadoServers() []models.PrivadoServer {
{Hostname: "bud-001.vpn.privado.io", IP: net.IP{185, 128, 26, 194}},
{Hostname: "bud-002.vpn.privado.io", IP: net.IP{185, 128, 26, 200}},
{Hostname: "cdg-001.vpn.privado.io", IP: net.IP{89, 40, 183, 99}},
{Hostname: "cdg-002.vpn.privado.io", IP: net.IP{89, 40, 183, 104}},
{Hostname: "cdg-003.vpn.privado.io", IP: net.IP{89, 40, 183, 109}},
{Hostname: "cdg-004.vpn.privado.io", IP: net.IP{89, 40, 183, 114}},
{Hostname: "cdg-002.vpn.privado.io", IP: net.IP{89, 40, 183, 106}},
{Hostname: "cdg-003.vpn.privado.io", IP: net.IP{89, 40, 183, 113}},
{Hostname: "cdg-004.vpn.privado.io", IP: net.IP{89, 40, 183, 120}},
{Hostname: "cph-001.vpn.privado.io", IP: net.IP{2, 58, 46, 35}},
{Hostname: "cph-002.vpn.privado.io", IP: net.IP{2, 58, 46, 42}},
{Hostname: "cph-003.vpn.privado.io", IP: net.IP{2, 58, 46, 49}},
{Hostname: "cph-004.vpn.privado.io", IP: net.IP{2, 58, 46, 56}},
{Hostname: "dca-001.vpn.privado.io", IP: net.IP{85, 12, 61, 10}},
{Hostname: "dca-002.vpn.privado.io", IP: net.IP{85, 12, 61, 20}},
{Hostname: "dca-003.vpn.privado.io", IP: net.IP{85, 12, 61, 30}},
{Hostname: "dca-004.vpn.privado.io", IP: net.IP{85, 12, 61, 40}},
{Hostname: "dca-005.vpn.privado.io", IP: net.IP{85, 12, 61, 50}},
{Hostname: "dca-006.vpn.privado.io", IP: net.IP{85, 12, 61, 60}},
{Hostname: "dca-007.vpn.privado.io", IP: net.IP{85, 12, 61, 70}},
{Hostname: "dca-008.vpn.privado.io", IP: net.IP{85, 12, 61, 80}},
{Hostname: "dca-009.vpn.privado.io", IP: net.IP{85, 12, 61, 90}},
{Hostname: "dca-010.vpn.privado.io", IP: net.IP{85, 12, 61, 100}},
{Hostname: "dca-011.vpn.privado.io", IP: net.IP{85, 12, 61, 110}},
{Hostname: "dca-012.vpn.privado.io", IP: net.IP{85, 12, 61, 120}},
{Hostname: "dca-013.vpn.privado.io", IP: net.IP{185, 247, 68, 3}},
{Hostname: "dca-014.vpn.privado.io", IP: net.IP{185, 247, 68, 14}},
{Hostname: "dca-014.vpn.privado.io", IP: net.IP{185, 247, 68, 10}},
{Hostname: "dca-015.vpn.privado.io", IP: net.IP{185, 247, 68, 17}},
{Hostname: "dca-016.vpn.privado.io", IP: net.IP{185, 247, 68, 24}},
{Hostname: "dfw-001.vpn.privado.io", IP: net.IP{23, 105, 32, 243}},
{Hostname: "dfw-002.vpn.privado.io", IP: net.IP{23, 105, 32, 244}},
{Hostname: "dub-001.vpn.privado.io", IP: net.IP{84, 247, 48, 227}},
@@ -84,7 +89,7 @@ func PrivadoServers() []models.PrivadoServer {
{Hostname: "dub-003.vpn.privado.io", IP: net.IP{84, 247, 48, 241}},
{Hostname: "dub-004.vpn.privado.io", IP: net.IP{84, 247, 48, 248}},
{Hostname: "eze-001.vpn.privado.io", IP: net.IP{168, 205, 93, 211}},
{Hostname: "eze-002.vpn.privado.io", IP: net.IP{168, 205, 93, 215}},
{Hostname: "eze-002.vpn.privado.io", IP: net.IP{168, 205, 93, 217}},
{Hostname: "fra-001.vpn.privado.io", IP: net.IP{91, 148, 232, 10}},
{Hostname: "fra-002.vpn.privado.io", IP: net.IP{91, 148, 232, 20}},
{Hostname: "fra-003.vpn.privado.io", IP: net.IP{91, 148, 232, 30}},
@@ -113,14 +118,6 @@ func PrivadoServers() []models.PrivadoServer {
{Hostname: "jfk-004.vpn.privado.io", IP: net.IP{217, 138, 208, 120}},
{Hostname: "jnb-001.vpn.privado.io", IP: net.IP{172, 107, 93, 131}},
{Hostname: "jnb-002.vpn.privado.io", IP: net.IP{172, 107, 93, 137}},
{Hostname: "lax-001.vpn.privado.io", IP: net.IP{81, 171, 62, 3}},
{Hostname: "lax-002.vpn.privado.io", IP: net.IP{81, 171, 62, 13}},
{Hostname: "lax-003.vpn.privado.io", IP: net.IP{81, 171, 62, 24}},
{Hostname: "lax-004.vpn.privado.io", IP: net.IP{81, 171, 62, 34}},
{Hostname: "lax-005.vpn.privado.io", IP: net.IP{81, 171, 62, 70}},
{Hostname: "lax-006.vpn.privado.io", IP: net.IP{81, 171, 62, 80}},
{Hostname: "lax-007.vpn.privado.io", IP: net.IP{81, 171, 62, 90}},
{Hostname: "lax-008.vpn.privado.io", IP: net.IP{81, 171, 62, 100}},
{Hostname: "lax-009.vpn.privado.io", IP: net.IP{45, 152, 182, 227}},
{Hostname: "lax-010.vpn.privado.io", IP: net.IP{45, 152, 182, 234}},
{Hostname: "lax-011.vpn.privado.io", IP: net.IP{45, 152, 182, 241}},
@@ -128,13 +125,10 @@ func PrivadoServers() []models.PrivadoServer {
{Hostname: "lis-001.vpn.privado.io", IP: net.IP{89, 26, 243, 153}},
{Hostname: "lis-002.vpn.privado.io", IP: net.IP{89, 26, 243, 154}},
{Hostname: "lon-001.vpn.privado.io", IP: net.IP{217, 138, 195, 163}},
{Hostname: "lon-002.vpn.privado.io", IP: net.IP{217, 138, 195, 168}},
{Hostname: "lon-003.vpn.privado.io", IP: net.IP{217, 138, 195, 173}},
{Hostname: "lon-004.vpn.privado.io", IP: net.IP{217, 138, 195, 178}},
{Hostname: "lon-002.vpn.privado.io", IP: net.IP{217, 138, 195, 170}},
{Hostname: "lon-003.vpn.privado.io", IP: net.IP{217, 138, 195, 177}},
{Hostname: "lon-004.vpn.privado.io", IP: net.IP{217, 138, 195, 184}},
{Hostname: "mad-001.vpn.privado.io", IP: net.IP{217, 138, 218, 131}},
{Hostname: "mad-002.vpn.privado.io", IP: net.IP{217, 138, 218, 138}},
{Hostname: "mad-003.vpn.privado.io", IP: net.IP{217, 138, 218, 145}},
{Hostname: "mad-004.vpn.privado.io", IP: net.IP{217, 138, 218, 152}},
{Hostname: "man-001.vpn.privado.io", IP: net.IP{217, 138, 196, 131}},
{Hostname: "man-002.vpn.privado.io", IP: net.IP{217, 138, 196, 138}},
{Hostname: "man-003.vpn.privado.io", IP: net.IP{217, 138, 196, 145}},
@@ -142,9 +136,9 @@ func PrivadoServers() []models.PrivadoServer {
{Hostname: "mex-001.vpn.privado.io", IP: net.IP{169, 57, 96, 52}},
{Hostname: "mex-002.vpn.privado.io", IP: net.IP{169, 57, 96, 57}},
{Hostname: "mia-001.vpn.privado.io", IP: net.IP{86, 106, 87, 131}},
{Hostname: "mia-002.vpn.privado.io", IP: net.IP{86, 106, 87, 136}},
{Hostname: "mia-003.vpn.privado.io", IP: net.IP{86, 106, 87, 141}},
{Hostname: "mia-004.vpn.privado.io", IP: net.IP{86, 106, 87, 146}},
{Hostname: "mia-002.vpn.privado.io", IP: net.IP{86, 106, 87, 138}},
{Hostname: "mia-003.vpn.privado.io", IP: net.IP{86, 106, 87, 145}},
{Hostname: "mia-004.vpn.privado.io", IP: net.IP{86, 106, 87, 152}},
{Hostname: "mxp-001.vpn.privado.io", IP: net.IP{89, 40, 182, 195}},
{Hostname: "mxp-002.vpn.privado.io", IP: net.IP{89, 40, 182, 201}},
{Hostname: "nrt-001.vpn.privado.io", IP: net.IP{217, 138, 252, 3}},
@@ -197,9 +191,9 @@ func PrivadoServers() []models.PrivadoServer {
{Hostname: "waw-003.vpn.privado.io", IP: net.IP{217, 138, 209, 165}},
{Hostname: "waw-004.vpn.privado.io", IP: net.IP{217, 138, 209, 166}},
{Hostname: "yul-001.vpn.privado.io", IP: net.IP{217, 138, 213, 67}},
{Hostname: "yul-002.vpn.privado.io", IP: net.IP{217, 138, 213, 72}},
{Hostname: "yul-003.vpn.privado.io", IP: net.IP{217, 138, 213, 77}},
{Hostname: "yul-004.vpn.privado.io", IP: net.IP{217, 138, 213, 82}},
{Hostname: "yul-002.vpn.privado.io", IP: net.IP{217, 138, 213, 74}},
{Hostname: "yul-003.vpn.privado.io", IP: net.IP{217, 138, 213, 81}},
{Hostname: "yul-004.vpn.privado.io", IP: net.IP{217, 138, 213, 88}},
{Hostname: "yvr-001.vpn.privado.io", IP: net.IP{71, 19, 248, 57}},
{Hostname: "yvr-002.vpn.privado.io", IP: net.IP{71, 19, 248, 113}},
{Hostname: "yyz-003.vpn.privado.io", IP: net.IP{199, 189, 27, 19}},

View File

@@ -44,43 +44,46 @@ func PurevpnCityChoices() (choices []string) {
//nolint:lll
func PurevpnServers() []models.PurevpnServer {
return []models.PurevpnServer{
{Country: "Australia", Region: "New South Wales", City: "Sydney", IPs: []net.IP{{192, 253, 241, 4}, {43, 245, 161, 84}}},
{Country: "Australia", Region: "New South Wales", City: "Sydney", IPs: []net.IP{{192, 253, 241, 4}, {43, 245, 161, 85}}},
{Country: "Australia", Region: "Western Australia", City: "Perth", IPs: []net.IP{{172, 94, 123, 4}}},
{Country: "Austria", Region: "Lower Austria", City: "Langenzersdorf", IPs: []net.IP{{172, 94, 109, 4}}},
{Country: "Austria", Region: "Vienna", City: "Vienna", IPs: []net.IP{{217, 64, 127, 251}}},
{Country: "Austria", Region: "Vienna", City: "Vienna", IPs: []net.IP{{217, 64, 127, 252}}},
{Country: "Belgium", Region: "Flanders", City: "Zaventem", IPs: []net.IP{{172, 111, 223, 4}}},
{Country: "Bulgaria", Region: "Sofia-Capital", City: "Sofia", IPs: []net.IP{{217, 138, 221, 121}}},
{Country: "Bulgaria", Region: "Sofia-Capital", City: "Sofia", IPs: []net.IP{{217, 138, 221, 120}}},
{Country: "Canada", Region: "Alberta", City: "Calgary", IPs: []net.IP{{172, 94, 34, 4}}},
{Country: "Canada", Region: "Ontario", City: "Toronto", IPs: []net.IP{{104, 200, 138, 196}}},
{Country: "France", Region: "Île-de-France", City: "Paris", IPs: []net.IP{{89, 40, 183, 178}}},
{Country: "Germany", Region: "Hesse", City: "Frankfurt am Main", IPs: []net.IP{{82, 102, 16, 110}}},
{Country: "Germany", Region: "Hesse", City: "Frankfurt am Main", IPs: []net.IP{{188, 72, 84, 4}}},
{Country: "Greece", Region: "Central Macedonia", City: "Thessaloníki", IPs: []net.IP{{178, 21, 169, 244}}},
{Country: "Hong Kong", Region: "Central and Western", City: "Hong Kong", IPs: []net.IP{{103, 109, 103, 60}, {43, 226, 231, 4}}},
{Country: "Hong Kong", Region: "Kowloon City", City: "Kowloon", IPs: []net.IP{{36, 255, 97, 3}}},
{Country: "Hong Kong", Region: "Central and Western", City: "Central", IPs: []net.IP{{141, 101, 168, 4}, {141, 101, 168, 4}}},
{Country: "Hong Kong", Region: "Central and Western", City: "Hong Kong", IPs: []net.IP{{43, 226, 231, 6}, {172, 111, 168, 4}}},
{Country: "India", Region: "Tamil Nadu", City: "Chennai", IPs: []net.IP{{129, 227, 107, 242}}},
{Country: "Italy", Region: "Trentino-Alto Adige", City: "Trento", IPs: []net.IP{{172, 111, 173, 3}}},
{Country: "Japan", Region: "Ōsaka", City: "Osaka", IPs: []net.IP{{172, 94, 56, 4}}},
{Country: "Malaysia", Region: "Kuala Lumpur", City: "Kuala Lumpur", IPs: []net.IP{{103, 55, 10, 133}}},
{Country: "Netherlands", Region: "North Holland", City: "Amsterdam", IPs: []net.IP{{79, 142, 64, 51}}},
{Country: "Netherlands", Region: "North Holland", City: "Amsterdam", IPs: []net.IP{{5, 254, 73, 172}}},
{Country: "Norway", Region: "Oslo", City: "Oslo", IPs: []net.IP{{82, 102, 22, 212}}},
{Country: "Panama", Region: "Panamá", City: "Panamá", IPs: []net.IP{{104, 243, 243, 131}}},
{Country: "Philippines", Region: "Metro Manila", City: "Quezon City", IPs: []net.IP{{129, 227, 119, 84}}},
{Country: "Poland", Region: "Mazovia", City: "Warsaw", IPs: []net.IP{{5, 253, 206, 251}}},
{Country: "Portugal", Region: "Lisbon", City: "Lisbon", IPs: []net.IP{{5, 154, 174, 3}}},
{Country: "Russian Federation", Region: "Moscow", City: "Moscow", IPs: []net.IP{{206, 123, 139, 4}}},
{Country: "Singapore", Region: "Singapore", City: "Singapore", IPs: []net.IP{{37, 120, 208, 147}, {129, 227, 107, 242}}},
{Country: "South Africa", Region: "Gauteng", City: "Johannesburg", IPs: []net.IP{{102, 165, 3, 34}}},
{Country: "Russian Federation", Region: "Moscow", City: "Moscow", IPs: []net.IP{{46, 243, 220, 2}, {206, 123, 139, 4}}},
{Country: "Singapore", Region: "Singapore", City: "Singapore", IPs: []net.IP{{37, 120, 208, 147}}},
{Country: "South Africa", Region: "Gauteng", City: "Johannesburg", IPs: []net.IP{{102, 165, 3, 33}}},
{Country: "Spain", Region: "Madrid", City: "Madrid", IPs: []net.IP{{217, 138, 218, 210}}},
{Country: "Sweden", Region: "Stockholm", City: "Kista", IPs: []net.IP{{172, 111, 246, 4}}},
{Country: "Switzerland", Region: "Zurich", City: "Zürich", IPs: []net.IP{{45, 12, 222, 106}}},
{Country: "Sweden", Region: "Stockholm", City: "Stockholm", IPs: []net.IP{{86, 106, 103, 139}}},
{Country: "Switzerland", Region: "Zurich", City: "Zürich", IPs: []net.IP{{45, 12, 222, 103}}},
{Country: "Taiwan", Region: "Taiwan", City: "Taipei", IPs: []net.IP{{128, 1, 155, 178}}},
{Country: "United Arab Emirates", Region: "Dubai", City: "Dubai", IPs: []net.IP{{104, 37, 6, 4}}},
{Country: "United Kingdom", Region: "England", City: "Birmingham", IPs: []net.IP{{188, 72, 89, 4}}},
{Country: "United Kingdom", Region: "England", City: "London", IPs: []net.IP{{193, 9, 113, 70}, {104, 37, 6, 4}, {45, 141, 154, 189}}},
{Country: "United States", Region: "Arkansas", City: "Hot Springs", IPs: []net.IP{{172, 111, 147, 4}}},
{Country: "United States", Region: "Florida", City: "Miami", IPs: []net.IP{{86, 106, 87, 178}}},
{Country: "United States", Region: "Illinois", City: "Lincolnshire", IPs: []net.IP{{141, 101, 149, 4}, {141, 101, 149, 4}, {141, 101, 149, 4}, {141, 101, 149, 4}}},
{Country: "United Kingdom", Region: "England", City: "London", IPs: []net.IP{{45, 141, 154, 71}, {45, 141, 154, 71}}},
{Country: "United States", Region: "California", City: "Los Angeles", IPs: []net.IP{{172, 111, 147, 4}}},
{Country: "United States", Region: "California", City: "South San Francisco", IPs: []net.IP{{141, 101, 166, 4}, {141, 101, 166, 4}, {141, 101, 166, 4}}},
{Country: "United States", Region: "Florida", City: "Miami", IPs: []net.IP{{5, 254, 79, 115}}},
{Country: "United States", Region: "Massachusetts", City: "Newton", IPs: []net.IP{{104, 243, 244, 2}}},
{Country: "United States", Region: "New Mexico", City: "Rio Rancho", IPs: []net.IP{{104, 243, 243, 131}}},
{Country: "United States", Region: "New York", City: "New York City", IPs: []net.IP{{172, 111, 149, 4}}},
{Country: "United States", Region: "Texas", City: "Dallas", IPs: []net.IP{{172, 94, 1, 4}, {172, 94, 1, 4}, {172, 94, 1, 4}, {172, 94, 1, 4}, {172, 94, 1, 4}, {172, 94, 1, 4}, {208, 84, 155, 104}}},
{Country: "United States", Region: "Virginia", City: "Reston", IPs: []net.IP{{5, 254, 77, 27}}},
{Country: "Vietnam", Region: "Ho Chi Minh", City: "Ho Chi Minh City", IPs: []net.IP{{192, 253, 249, 132}}},
{Country: "United States", Region: "Michigan", City: "Ypsilanti", IPs: []net.IP{{172, 111, 149, 4}}},
{Country: "United States", Region: "Texas", City: "Dallas", IPs: []net.IP{{208, 84, 155, 100}}},
{Country: "United States", Region: "Utah", City: "Salt Lake City", IPs: []net.IP{{45, 74, 52, 4}, {45, 74, 52, 4}, {45, 74, 52, 4}, {45, 74, 52, 4}, {45, 74, 52, 4}, {45, 74, 52, 4}}},
{Country: "Vietnam", Region: "Hanoi", City: "Cầu Giấy", IPs: []net.IP{{192, 253, 249, 132}}},
}
}

View File

@@ -8,12 +8,12 @@ func GetAllServers() (allServers models.AllServers) {
Version: 1, // used for migration of the top level scheme
Cyberghost: models.CyberghostServers{
Version: 1, // model version
Timestamp: 1612031135, // latest takes precedence
Timestamp: 1599323261, // latest takes precedence
Servers: CyberghostServers(),
},
Mullvad: models.MullvadServers{
Version: 1,
Timestamp: 1612031135,
Timestamp: 1603660367,
Servers: MullvadServers(),
},
Nordvpn: models.NordvpnServers{
@@ -22,33 +22,33 @@ func GetAllServers() (allServers models.AllServers) {
Servers: NordvpnServers(),
},
Pia: models.PiaServers{
Version: 3,
Timestamp: 1611877630,
Version: 2,
Timestamp: 1609343591,
Servers: PIAServers(),
},
Purevpn: models.PurevpnServers{
Version: 1,
Timestamp: 1612031135,
Timestamp: 1609448478,
Servers: PurevpnServers(),
},
Privado: models.PrivadoServers{
Version: 2,
Timestamp: 1612031135,
Timestamp: 1604963273,
Servers: PrivadoServers(),
},
Surfshark: models.SurfsharkServers{
Version: 1,
Timestamp: 1612031135,
Timestamp: 1599957644,
Servers: SurfsharkServers(),
},
Vyprvpn: models.VyprvpnServers{
Version: 1,
Timestamp: 1612031135,
Timestamp: 1599323261,
Servers: VyprvpnServers(),
},
Windscribe: models.WindscribeServers{
Version: 2,
Timestamp: 1612031135,
Timestamp: 1604019438,
Servers: WindscribeServers(),
},
}

View File

@@ -52,7 +52,7 @@ func Test_versions(t *testing.T) {
"Private Internet Access": {
model: models.PIAServer{},
version: allServers.Pia.Version,
digest: "b90147aa",
digest: "f1e01afe",
},
"Privado": {
model: models.PrivadoServer{},
@@ -118,47 +118,47 @@ func Test_timestamps(t *testing.T) {
"Cyberghost": {
servers: allServers.Cyberghost.Servers,
timestamp: allServers.Cyberghost.Timestamp,
digest: "5d3a8cbf",
digest: "160631de",
},
"Mullvad": {
servers: allServers.Mullvad.Servers,
timestamp: allServers.Mullvad.Timestamp,
digest: "e2e006cf",
digest: "93859652",
},
"Nordvpn": {
servers: allServers.Nordvpn.Servers,
timestamp: allServers.Nordvpn.Timestamp,
digest: "2296312c",
digest: "5f70b19b",
},
"Private Internet Access": {
servers: allServers.Pia.Servers,
timestamp: allServers.Pia.Timestamp,
digest: "1d2938a1",
digest: "d797f112",
},
"Purevpn": {
servers: allServers.Purevpn.Servers,
timestamp: allServers.Purevpn.Timestamp,
digest: "cd19edf5",
digest: "8abe18d4",
},
"Privado": {
servers: allServers.Privado.Servers,
timestamp: allServers.Privado.Timestamp,
digest: "2ac55360",
digest: "df2a046d",
},
"Surfshark": {
servers: allServers.Surfshark.Servers,
timestamp: allServers.Surfshark.Timestamp,
digest: "1a7f38bb",
digest: "79484811",
},
"Vyprvpn": {
servers: allServers.Vyprvpn.Servers,
timestamp: allServers.Vyprvpn.Timestamp,
digest: "1753d4f8",
digest: "1992457c",
},
"Windscribe": {
servers: allServers.Windscribe.Servers,
timestamp: allServers.Windscribe.Timestamp,
digest: "4e719aa3",
digest: "fd87502e",
},
}
for name, testCase := range testCases {

View File

@@ -21,54 +21,64 @@ func SurfsharkRegionChoices() (choices []string) {
return choices
}
//nolint:lll
func SurfsharkServers() []models.SurfsharkServer {
return []models.SurfsharkServer{
{Region: "Albania", IPs: []net.IP{{31, 171, 153, 99}, {31, 171, 153, 131}, {31, 171, 154, 101}, {31, 171, 154, 149}, {31, 171, 154, 163}, {31, 171, 154, 165}}},
{Region: "Argentina Buenos Aires", IPs: []net.IP{{91, 206, 168, 9}, {91, 206, 168, 13}, {91, 206, 168, 21}, {91, 206, 168, 31}, {91, 206, 168, 41}, {91, 206, 168, 45}, {91, 206, 168, 54}, {91, 206, 168, 62}}},
{Region: "Australia Melbourne", IPs: []net.IP{{103, 192, 80, 11}, {103, 192, 80, 147}, {103, 192, 80, 227}, {144, 48, 38, 139}, {144, 48, 38, 149}, {144, 48, 38, 181}}},
{Region: "Australia Perth", IPs: []net.IP{{45, 248, 78, 43}, {124, 150, 139, 27}, {124, 150, 139, 35}, {124, 150, 139, 123}, {124, 150, 139, 125}, {124, 150, 139, 179}}},
{Region: "Australia Sydney", IPs: []net.IP{{45, 125, 247, 45}, {180, 149, 228, 115}, {180, 149, 228, 149}, {180, 149, 228, 165}, {180, 149, 228, 171}, {180, 149, 228, 173}}},
{Region: "Austria", IPs: []net.IP{{5, 253, 207, 85}, {37, 120, 212, 133}, {37, 120, 212, 139}, {89, 187, 168, 44}, {89, 187, 168, 46}, {89, 187, 168, 54}, {89, 187, 168, 56}}},
{Region: "Belgium", IPs: []net.IP{{5, 253, 205, 99}, {5, 253, 205, 101}, {37, 120, 218, 29}, {89, 249, 73, 197}, {91, 90, 123, 149}, {91, 90, 123, 173}, {91, 90, 123, 213}, {185, 104, 186, 77}}},
{Region: "Brazil", IPs: []net.IP{{45, 231, 207, 72}, {191, 96, 13, 39}, {191, 96, 13, 41}, {191, 96, 13, 43}, {191, 96, 73, 210}, {191, 96, 73, 214}, {191, 96, 73, 216}, {191, 96, 73, 228}, {191, 96, 73, 232}}},
{Region: "Bulgaria", IPs: []net.IP{{37, 120, 152, 37}, {37, 120, 152, 195}, {217, 138, 202, 19}, {217, 138, 202, 21}}},
{Region: "Canada Montreal", IPs: []net.IP{{172, 98, 82, 243}, {198, 8, 85, 5}, {198, 8, 85, 69}, {198, 8, 85, 72}, {198, 8, 85, 89}, {198, 8, 85, 163}}},
{Region: "Canada Toronto", IPs: []net.IP{{68, 71, 244, 131}, {68, 71, 244, 197}, {68, 71, 244, 212}, {68, 71, 244, 220}, {104, 200, 138, 147}, {104, 200, 138, 154}}},
{Region: "Albania", IPs: []net.IP{{31, 171, 152, 197}, {31, 171, 154, 147}}},
{Region: "Argentina Buenos Aires", IPs: []net.IP{{91, 206, 168, 13}, {91, 206, 168, 24}}},
{Region: "Australia Adelaide", IPs: []net.IP{{45, 248, 79, 67}, {45, 248, 79, 69}}},
{Region: "Australia Brisbane", IPs: []net.IP{{144, 48, 39, 107}, {144, 48, 39, 131}}},
{Region: "Australia Melbourne", IPs: []net.IP{{103, 192, 80, 141}, {144, 48, 38, 141}}},
{Region: "Australia Perth", IPs: []net.IP{{45, 248, 78, 45}, {124, 150, 139, 27}}},
{Region: "Australia Sydney", IPs: []net.IP{{45, 125, 247, 195}, {180, 149, 228, 117}}},
{Region: "Australia US", IPs: []net.IP{{45, 76, 117, 108}}},
{Region: "Austria", IPs: []net.IP{{5, 253, 207, 83}, {37, 120, 212, 131}}},
{Region: "Azerbaijan", IPs: []net.IP{{94, 20, 21, 85}, {94, 20, 21, 87}}},
{Region: "Belgium", IPs: []net.IP{{5, 253, 205, 181}, {5, 253, 205, 213}}},
{Region: "Bosnia and Herzegovina", IPs: []net.IP{{185, 99, 3, 7}, {185, 212, 111, 41}}},
{Region: "Brazil", IPs: []net.IP{{191, 96, 73, 214}, {191, 96, 73, 216}}},
{Region: "Bulgaria", IPs: []net.IP{{37, 120, 152, 37}}},
{Region: "Canada Montreal", IPs: []net.IP{{172, 98, 82, 85}, {198, 8, 85, 19}}},
{Region: "Canada Toronto", IPs: []net.IP{{68, 71, 244, 200}, {104, 200, 138, 163}}},
{Region: "Canada Toronto mp001", IPs: []net.IP{{138, 197, 151, 26}}},
{Region: "Chile", IPs: []net.IP{{31, 169, 121, 3}, {31, 169, 121, 5}}},
{Region: "Colombia", IPs: []net.IP{{45, 129, 32, 3}, {45, 129, 32, 8}, {45, 129, 32, 20}, {45, 129, 32, 22}, {45, 129, 32, 27}, {45, 129, 32, 29}, {45, 129, 32, 32}, {45, 129, 32, 38}}},
{Region: "Costa Rica", IPs: []net.IP{{176, 227, 241, 24}, {176, 227, 241, 26}, {176, 227, 241, 29}, {176, 227, 241, 31}, {176, 227, 241, 33}, {176, 227, 241, 35}}},
{Region: "Croatia", IPs: []net.IP{{85, 10, 51, 89}, {85, 10, 51, 91}, {89, 164, 99, 111}, {89, 164, 99, 134}, {89, 164, 99, 136}}},
{Region: "Cyprus", IPs: []net.IP{{195, 47, 194, 36}, {195, 47, 194, 54}, {195, 47, 194, 56}, {195, 47, 194, 59}, {195, 47, 194, 61}, {195, 47, 194, 64}, {195, 47, 194, 66}, {195, 47, 194, 70}}},
{Region: "Czech Republic", IPs: []net.IP{{185, 180, 14, 149}, {193, 9, 112, 181}, {217, 138, 199, 179}, {217, 138, 220, 133}, {217, 138, 220, 149}, {217, 138, 220, 163}}},
{Region: "Estonia", IPs: []net.IP{{165, 231, 163, 21}, {185, 174, 159, 51}, {185, 174, 159, 53}, {185, 174, 159, 67}}},
{Region: "Finland", IPs: []net.IP{{196, 244, 191, 43}, {196, 244, 191, 91}, {196, 244, 191, 101}, {196, 244, 191, 165}}},
{Region: "France Bordeaux", IPs: []net.IP{{185, 108, 106, 26}, {185, 108, 106, 69}, {185, 108, 106, 102}, {185, 108, 106, 106}, {185, 108, 106, 180}, {185, 108, 106, 186}}},
{Region: "France Marseilles", IPs: []net.IP{{185, 166, 84, 19}, {185, 166, 84, 29}, {185, 166, 84, 51}, {185, 166, 84, 55}, {185, 166, 84, 57}, {185, 166, 84, 61}, {185, 166, 84, 63}, {185, 166, 84, 83}}},
{Region: "France Paris", IPs: []net.IP{{45, 89, 174, 61}, {84, 17, 60, 250}, {84, 247, 51, 253}, {143, 244, 56, 232}, {143, 244, 57, 101}, {143, 244, 57, 103}}},
{Region: "Germany Berlin", IPs: []net.IP{{37, 120, 217, 179}, {193, 29, 106, 21}, {193, 29, 106, 83}, {193, 29, 106, 149}, {193, 29, 106, 187}, {217, 138, 216, 219}}},
{Region: "Germany Frankfurt am Main", IPs: []net.IP{{37, 120, 197, 13}, {89, 187, 169, 104}, {138, 199, 19, 132}, {138, 199, 19, 147}, {138, 199, 19, 157}, {138, 199, 19, 190}, {156, 146, 33, 73}, {156, 146, 33, 87}}},
{Region: "Canada US", IPs: []net.IP{{159, 203, 57, 80}}},
{Region: "Canada Vancouver", IPs: []net.IP{{66, 115, 147, 79}, {66, 115, 147, 87}}},
{Region: "Chile", IPs: []net.IP{{31, 169, 121, 16}}},
{Region: "Colombia", IPs: []net.IP{{45, 129, 32, 8}}},
{Region: "Costa Rica", IPs: []net.IP{{176, 227, 241, 19}, {176, 227, 241, 21}}},
{Region: "Croatia", IPs: []net.IP{{89, 164, 99, 109}, {89, 164, 99, 111}}},
{Region: "Cyprus", IPs: []net.IP{{195, 47, 194, 34}}},
{Region: "Czech Republic", IPs: []net.IP{{185, 152, 64, 151}, {185, 152, 64, 178}}},
{Region: "Denmark", IPs: []net.IP{{37, 120, 194, 115}, {95, 174, 65, 71}}},
{Region: "Estonia", IPs: []net.IP{{165, 231, 163, 23}, {185, 174, 159, 69}}},
{Region: "Finland", IPs: []net.IP{{196, 244, 191, 179}, {196, 244, 191, 181}}},
{Region: "France Bordeaux", IPs: []net.IP{{185, 108, 106, 67}, {185, 108, 106, 150}}},
{Region: "France Marseilles", IPs: []net.IP{{185, 166, 84, 53}, {185, 166, 84, 75}}},
{Region: "France Paris", IPs: []net.IP{{45, 83, 90, 181}, {45, 89, 174, 103}}},
{Region: "France Sweden", IPs: []net.IP{{199, 247, 8, 20}}},
{Region: "Germany Berlin", IPs: []net.IP{{152, 89, 163, 19}, {217, 138, 216, 243}}},
{Region: "Germany Frankfurt am Main", IPs: []net.IP{{185, 158, 135, 36}, {185, 220, 70, 83}}},
{Region: "Germany Frankfurt am Main st001", IPs: []net.IP{{45, 87, 212, 179}}},
{Region: "Germany Frankfurt am Main st002", IPs: []net.IP{{45, 87, 212, 181}}},
{Region: "Germany Frankfurt am Main st003", IPs: []net.IP{{45, 87, 212, 183}}},
{Region: "Germany Frankfurt am Main st004", IPs: []net.IP{{195, 181, 174, 226}}},
{Region: "Germany Frankfurt am Main st005", IPs: []net.IP{{195, 181, 174, 228}}},
{Region: "Germany Frankfurt mp001", IPs: []net.IP{{46, 101, 189, 14}}},
{Region: "Germany Munich", IPs: []net.IP{{79, 143, 191, 141}, {79, 143, 191, 231}, {178, 238, 231, 53}, {178, 238, 231, 55}}},
{Region: "Germany Nuremberg", IPs: []net.IP{{62, 171, 149, 162}, {62, 171, 151, 154}, {62, 171, 151, 156}, {62, 171, 151, 158}, {62, 171, 151, 160}, {95, 111, 253, 65}, {144, 91, 123, 50}, {144, 91, 123, 52}}},
{Region: "Germany Munich", IPs: []net.IP{{178, 238, 231, 51}, {178, 238, 231, 55}}},
{Region: "Germany Nuremberg", IPs: []net.IP{{62, 171, 149, 162}, {62, 171, 151, 182}}},
{Region: "Germany Singapour", IPs: []net.IP{{159, 89, 14, 157}}},
{Region: "Greece", IPs: []net.IP{{194, 150, 167, 28}, {194, 150, 167, 32}, {194, 150, 167, 38}, {194, 150, 167, 40}, {194, 150, 167, 44}, {194, 150, 167, 48}}},
{Region: "Hong Kong", IPs: []net.IP{{84, 17, 37, 156}, {84, 17, 57, 66}, {84, 17, 57, 71}, {212, 102, 42, 194}, {212, 102, 42, 196}, {212, 102, 42, 211}}},
{Region: "Iceland", IPs: []net.IP{{82, 221, 128, 156}, {82, 221, 128, 169}, {82, 221, 143, 62}, {82, 221, 143, 64}, {82, 221, 143, 69}, {82, 221, 143, 71}}},
{Region: "India Chennai", IPs: []net.IP{{103, 94, 27, 99}, {103, 94, 27, 101}, {103, 94, 27, 115}, {103, 94, 27, 227}, {103, 108, 117, 147}}},
{Region: "India Indore", IPs: []net.IP{{103, 39, 132, 187}, {103, 39, 132, 189}, {103, 39, 134, 59}, {103, 39, 134, 61}, {137, 59, 52, 107}, {137, 59, 52, 109}}},
{Region: "Indonesia", IPs: []net.IP{{103, 120, 66, 214}, {103, 120, 66, 216}, {103, 120, 66, 221}, {103, 120, 66, 227}}},
{Region: "Ireland", IPs: []net.IP{{5, 157, 13, 67}, {5, 157, 13, 91}, {5, 157, 13, 93}, {5, 157, 13, 107}, {5, 157, 13, 117}, {5, 157, 13, 133}, {185, 108, 128, 161}, {217, 138, 222, 43}}},
{Region: "Israel", IPs: []net.IP{{87, 239, 255, 111}, {87, 239, 255, 114}, {87, 239, 255, 116}, {87, 239, 255, 121}}},
{Region: "Italy Milan", IPs: []net.IP{{37, 120, 201, 71}, {45, 9, 251, 167}, {84, 17, 58, 134}, {84, 17, 58, 146}, {212, 102, 54, 152}, {212, 102, 54, 167}, {212, 102, 54, 170}, {212, 102, 54, 177}}},
{Region: "Italy Rome", IPs: []net.IP{{82, 102, 26, 115}, {87, 101, 94, 213}, {185, 217, 71, 21}, {185, 217, 71, 51}, {185, 217, 71, 213}, {185, 217, 71, 243}, {217, 138, 219, 237}, {217, 138, 219, 253}}},
{Region: "Japan Tokyo", IPs: []net.IP{{45, 87, 213, 87}, {45, 87, 213, 103}, {84, 17, 34, 26}, {89, 187, 161, 4}, {89, 187, 161, 241}, {138, 199, 22, 130}}},
{Region: "Germany UK", IPs: []net.IP{{46, 101, 250, 73}}},
{Region: "Greece", IPs: []net.IP{{194, 150, 167, 34}, {194, 150, 167, 40}}},
{Region: "Hong Kong", IPs: []net.IP{{84, 17, 57, 73}, {212, 102, 42, 201}}},
{Region: "Hungary", IPs: []net.IP{{37, 120, 144, 151}, {37, 120, 144, 213}}},
{Region: "Iceland", IPs: []net.IP{{82, 221, 128, 166}, {82, 221, 143, 243}}},
{Region: "India Chennai", IPs: []net.IP{{103, 108, 117, 118}, {103, 108, 117, 151}}},
{Region: "India Indore", IPs: []net.IP{{103, 39, 132, 189}, {137, 59, 52, 109}}},
{Region: "India Mumbai", IPs: []net.IP{{103, 221, 233, 88}, {165, 231, 253, 147}}},
{Region: "India UK", IPs: []net.IP{{134, 209, 148, 122}}},
{Region: "Indonesia", IPs: []net.IP{{103, 120, 66, 214}, {103, 120, 66, 216}}},
{Region: "Ireland", IPs: []net.IP{{185, 108, 128, 159}, {185, 108, 128, 181}}},
{Region: "Israel", IPs: []net.IP{{87, 239, 255, 109}}},
{Region: "Italy Milan", IPs: []net.IP{{84, 17, 58, 148}, {185, 128, 27, 37}}},
{Region: "Italy Rome", IPs: []net.IP{{82, 102, 26, 61}, {82, 102, 26, 115}}},
{Region: "Japan Tokyo", IPs: []net.IP{{45, 87, 213, 5}, {103, 208, 221, 227}}},
{Region: "Japan Tokyo st001", IPs: []net.IP{{45, 87, 213, 19}}},
{Region: "Japan Tokyo st002", IPs: []net.IP{{45, 87, 213, 21}}},
{Region: "Japan Tokyo st003", IPs: []net.IP{{45, 87, 213, 23}}},
@@ -76,88 +86,100 @@ func SurfsharkServers() []models.SurfsharkServer {
{Region: "Japan Tokyo st005", IPs: []net.IP{{217, 138, 212, 21}}},
{Region: "Japan Tokyo st006", IPs: []net.IP{{82, 102, 28, 123}}},
{Region: "Japan Tokyo st007", IPs: []net.IP{{82, 102, 28, 125}}},
{Region: "Japan Tokyo st008", IPs: []net.IP{{89, 187, 161, 12}}},
{Region: "Japan Tokyo st009", IPs: []net.IP{{89, 187, 161, 14}}},
{Region: "Japan Tokyo st010", IPs: []net.IP{{89, 187, 161, 17}}},
{Region: "Japan Tokyo st011", IPs: []net.IP{{89, 187, 161, 19}}},
{Region: "Japan Tokyo st012", IPs: []net.IP{{89, 187, 161, 7}}},
{Region: "Japan Tokyo st013", IPs: []net.IP{{89, 187, 161, 9}}},
{Region: "Kazakhstan", IPs: []net.IP{{95, 57, 207, 200}}},
{Region: "Korea", IPs: []net.IP{{45, 130, 137, 3}, {45, 130, 137, 10}, {45, 130, 137, 16}, {45, 130, 137, 26}, {45, 130, 137, 32}, {45, 130, 137, 46}, {45, 130, 137, 48}, {45, 130, 137, 50}}},
{Region: "Latvia", IPs: []net.IP{{188, 92, 78, 140}, {188, 92, 78, 142}, {188, 92, 78, 145}, {188, 92, 78, 150}}},
{Region: "Luxembourg", IPs: []net.IP{{185, 153, 151, 73}, {185, 153, 151, 80}, {185, 153, 151, 98}, {185, 153, 151, 100}, {185, 153, 151, 116}, {185, 153, 151, 118}, {185, 153, 151, 126}, {185, 153, 151, 160}}},
{Region: "Malaysia", IPs: []net.IP{{42, 0, 30, 158}, {42, 0, 30, 164}, {42, 0, 30, 179}, {42, 0, 30, 181}, {42, 0, 30, 183}, {42, 0, 30, 209}}},
{Region: "Mexico City Mexico", IPs: []net.IP{{194, 41, 112, 14}, {194, 41, 112, 30}, {194, 41, 112, 33}, {194, 41, 112, 35}, {194, 41, 112, 37}, {194, 41, 112, 39}}},
{Region: "Korea", IPs: []net.IP{{61, 14, 210, 239}, {61, 97, 243, 112}}},
{Region: "Latvia", IPs: []net.IP{{188, 92, 78, 140}, {188, 92, 78, 142}}},
{Region: "Libya", IPs: []net.IP{{41, 208, 72, 157}, {41, 208, 72, 204}}},
{Region: "Luxembourg", IPs: []net.IP{{185, 153, 151, 60}, {185, 153, 151, 83}}},
{Region: "Malaysia", IPs: []net.IP{{42, 0, 30, 152}, {42, 0, 30, 209}}},
{Region: "Mexico City Mexico", IPs: []net.IP{{194, 41, 112, 9}, {194, 41, 112, 19}}},
{Region: "Moldova", IPs: []net.IP{{178, 175, 128, 235}, {178, 175, 128, 237}}},
{Region: "Netherlands Amsterdam", IPs: []net.IP{{81, 19, 208, 56}, {81, 19, 209, 59}, {89, 46, 223, 54}, {89, 46, 223, 60}, {89, 46, 223, 84}, {143, 244, 42, 74}, {178, 239, 173, 51}, {212, 102, 35, 216}}},
{Region: "Netherlands Amsterdam", IPs: []net.IP{{89, 46, 223, 74}, {89, 46, 223, 217}}},
{Region: "Netherlands Amsterdam mp001", IPs: []net.IP{{188, 166, 43, 117}}},
{Region: "Nigeria", IPs: []net.IP{{102, 165, 23, 4}, {102, 165, 23, 6}, {102, 165, 23, 42}, {102, 165, 23, 44}}},
{Region: "North Macedonia", IPs: []net.IP{{185, 225, 28, 67}, {185, 225, 28, 83}, {185, 225, 28, 91}, {185, 225, 28, 99}, {185, 225, 28, 101}, {185, 225, 28, 107}, {185, 225, 28, 109}, {185, 225, 28, 245}}},
{Region: "Norway", IPs: []net.IP{{45, 12, 223, 197}, {45, 12, 223, 213}, {84, 247, 50, 27}, {84, 247, 50, 29}, {91, 219, 215, 53}, {91, 219, 215, 69}, {95, 174, 66, 37}, {95, 174, 66, 41}}},
{Region: "Paraguay", IPs: []net.IP{{181, 40, 18, 47}, {181, 40, 18, 59}, {186, 16, 32, 163}, {186, 16, 32, 168}, {186, 16, 32, 173}}},
{Region: "Philippines", IPs: []net.IP{{45, 134, 224, 3}, {45, 134, 224, 8}, {45, 134, 224, 18}, {45, 134, 224, 20}}},
{Region: "Poland Gdansk", IPs: []net.IP{{5, 133, 14, 198}, {5, 187, 49, 147}, {5, 187, 53, 53}, {5, 187, 53, 55}, {178, 255, 44, 69}, {178, 255, 45, 187}}},
{Region: "Poland Warsaw", IPs: []net.IP{{5, 253, 206, 67}, {5, 253, 206, 71}, {5, 253, 206, 227}, {5, 253, 206, 229}, {84, 17, 55, 132}, {84, 17, 55, 134}, {185, 246, 208, 77}, {185, 246, 208, 105}}},
{Region: "Portugal Loule", IPs: []net.IP{{176, 61, 146, 97}, {176, 61, 146, 108}, {176, 61, 146, 113}, {176, 61, 146, 118}}},
{Region: "Portugal Porto", IPs: []net.IP{{194, 39, 127, 171}, {194, 39, 127, 191}, {194, 39, 127, 193}, {194, 39, 127, 231}, {194, 39, 127, 233}, {194, 39, 127, 240}, {194, 39, 127, 244}}},
{Region: "Romania", IPs: []net.IP{{45, 89, 175, 55}, {86, 106, 137, 147}, {185, 102, 217, 157}, {185, 102, 217, 159}, {185, 102, 217, 167}, {185, 102, 217, 169}, {185, 102, 217, 194}, {185, 102, 217, 196}}},
{Region: "Russia St. Petersburg", IPs: []net.IP{{185, 246, 88, 66}, {185, 246, 88, 118}}},
{Region: "Serbia", IPs: []net.IP{{37, 120, 193, 51}, {152, 89, 160, 213}, {152, 89, 160, 215}}},
{Region: "Singapore", IPs: []net.IP{{89, 187, 162, 184}, {89, 187, 162, 186}, {89, 187, 163, 130}, {89, 187, 163, 134}, {89, 187, 163, 136}, {89, 187, 163, 195}, {89, 187, 163, 197}, {89, 187, 163, 207}}},
{Region: "Netherlands Amsterdam st001", IPs: []net.IP{{81, 19, 209, 51}}},
{Region: "Netherlands US", IPs: []net.IP{{188, 166, 98, 91}}},
{Region: "New Zealand", IPs: []net.IP{{180, 149, 231, 67}}},
{Region: "Nigeria", IPs: []net.IP{{102, 165, 23, 6}, {102, 165, 23, 42}}},
{Region: "North Macedonia", IPs: []net.IP{{185, 225, 28, 93}, {185, 225, 28, 101}}},
{Region: "Norway", IPs: []net.IP{{45, 12, 223, 213}, {84, 247, 50, 69}}},
{Region: "Paraguay", IPs: []net.IP{{181, 40, 18, 56}, {186, 16, 32, 163}}},
{Region: "Philippines", IPs: []net.IP{{45, 134, 224, 10}, {45, 134, 224, 20}}},
{Region: "Poland Gdansk", IPs: []net.IP{{5, 187, 53, 51}}},
{Region: "Poland Warsaw", IPs: []net.IP{{185, 246, 208, 77}, {185, 246, 208, 105}}},
{Region: "Portugal Lisbon", IPs: []net.IP{{5, 154, 174, 26}, {5, 154, 174, 173}}},
{Region: "Portugal Loule", IPs: []net.IP{{176, 61, 146, 111}, {176, 61, 146, 123}}},
{Region: "Portugal Porto", IPs: []net.IP{{194, 39, 127, 242}}},
{Region: "Romania", IPs: []net.IP{{86, 106, 137, 147}, {86, 106, 137, 149}}},
{Region: "Russia Moscow", IPs: []net.IP{{213, 183, 56, 145}, {213, 183, 56, 160}}},
{Region: "Russia St. Petersburg", IPs: []net.IP{{213, 183, 54, 23}, {213, 183, 54, 165}}},
{Region: "Serbia", IPs: []net.IP{{37, 120, 193, 53}, {152, 89, 160, 211}}},
{Region: "Singapore", IPs: []net.IP{{89, 187, 162, 186}, {89, 187, 163, 210}}},
{Region: "Singapore Hong Kong", IPs: []net.IP{{206, 189, 83, 129}}},
{Region: "Singapore Netherlands", IPs: []net.IP{{104, 248, 148, 18}}},
{Region: "Singapore in", IPs: []net.IP{{128, 199, 193, 35}}},
{Region: "Singapore mp001", IPs: []net.IP{{206, 189, 94, 229}}},
{Region: "Singapore st001", IPs: []net.IP{{217, 138, 201, 91}}},
{Region: "Singapore st002", IPs: []net.IP{{217, 138, 201, 93}}},
{Region: "Singapore st003", IPs: []net.IP{{84, 247, 49, 19}}},
{Region: "Singapore st004", IPs: []net.IP{{84, 247, 49, 21}}},
{Region: "Slovekia", IPs: []net.IP{{37, 120, 221, 3}, {185, 76, 8, 210}, {185, 76, 8, 212}, {185, 76, 8, 215}, {185, 76, 8, 217}, {193, 37, 255, 35}, {193, 37, 255, 37}, {193, 37, 255, 39}}},
{Region: "Slovenia", IPs: []net.IP{{195, 158, 249, 36}, {195, 158, 249, 38}, {195, 158, 249, 40}, {195, 158, 249, 46}}},
{Region: "South Africa", IPs: []net.IP{{102, 165, 47, 132}, {154, 16, 93, 51}, {154, 16, 93, 53}, {154, 127, 49, 230}, {154, 127, 49, 232}, {154, 127, 50, 138}}},
{Region: "Spain Barcelona", IPs: []net.IP{{37, 120, 142, 179}, {37, 120, 142, 181}, {185, 188, 61, 7}, {185, 188, 61, 23}, {185, 188, 61, 37}, {185, 188, 61, 41}}},
{Region: "Spain Madrid", IPs: []net.IP{{37, 120, 148, 229}, {89, 37, 95, 11}, {89, 37, 95, 27}, {188, 208, 141, 18}, {188, 208, 141, 100}, {212, 102, 48, 4}, {212, 102, 48, 18}, {212, 102, 48, 20}}},
{Region: "Spain Valencia", IPs: []net.IP{{196, 196, 150, 67}, {196, 196, 150, 71}, {196, 196, 150, 83}, {196, 196, 150, 85}}},
{Region: "Sweden", IPs: []net.IP{{185, 76, 9, 34}, {185, 76, 9, 39}, {185, 76, 9, 41}, {185, 76, 9, 51}, {185, 76, 9, 55}, {185, 76, 9, 57}}},
{Region: "Switzerland", IPs: []net.IP{{45, 12, 222, 243}, {84, 17, 53, 86}, {84, 17, 53, 166}, {84, 17, 53, 210}, {84, 17, 53, 219}, {84, 17, 53, 223}, {156, 146, 62, 41}, {156, 146, 62, 56}}},
{Region: "Taiwan", IPs: []net.IP{{2, 58, 242, 43}, {2, 58, 242, 157}, {103, 152, 151, 5}, {103, 152, 151, 19}, {103, 152, 151, 69}, {103, 152, 151, 83}}},
{Region: "Turkey Istanbul", IPs: []net.IP{{107, 150, 95, 149}, {107, 150, 95, 157}, {107, 150, 95, 163}, {107, 150, 95, 165}}},
{Region: "UK Glasgow", IPs: []net.IP{{185, 108, 105, 5}, {185, 108, 105, 7}, {185, 108, 105, 38}, {185, 108, 105, 151}, {185, 108, 105, 153}, {185, 108, 105, 170}, {185, 108, 105, 174}, {185, 108, 105, 182}}},
{Region: "UK London", IPs: []net.IP{{37, 10, 114, 70}, {89, 35, 29, 71}, {185, 16, 206, 116}, {185, 44, 76, 55}, {185, 44, 78, 90}, {185, 114, 224, 119}, {185, 141, 206, 182}, {188, 240, 71, 179}}},
{Region: "Slovekia", IPs: []net.IP{{193, 37, 255, 39}, {193, 37, 255, 41}}},
{Region: "Slovenia", IPs: []net.IP{{195, 158, 249, 38}, {195, 158, 249, 42}}},
{Region: "South Africa", IPs: []net.IP{{154, 127, 49, 226}, {154, 127, 49, 232}}},
{Region: "Spain Barcelona", IPs: []net.IP{{185, 188, 61, 15}, {185, 188, 61, 25}}},
{Region: "Spain Madrid", IPs: []net.IP{{188, 208, 141, 18}, {188, 208, 141, 20}}},
{Region: "Spain Valencia", IPs: []net.IP{{185, 153, 150, 48}, {196, 196, 150, 71}}},
{Region: "Sweden", IPs: []net.IP{{45, 83, 91, 149}, {185, 76, 9, 41}}},
{Region: "Switzerland", IPs: []net.IP{{84, 17, 53, 219}, {84, 17, 53, 221}}},
{Region: "Taiwan", IPs: []net.IP{{2, 58, 241, 5}, {2, 58, 241, 43}}},
{Region: "Thailand", IPs: []net.IP{{45, 64, 186, 132}, {45, 64, 186, 163}}},
{Region: "Turkey", IPs: []net.IP{{185, 195, 79, 5}, {185, 195, 79, 19}}},
{Region: "Turkey Istanbul", IPs: []net.IP{{107, 150, 95, 155}, {107, 150, 95, 157}}},
{Region: "UK France", IPs: []net.IP{{188, 166, 168, 247}}},
{Region: "UK Germany", IPs: []net.IP{{45, 77, 58, 16}}},
{Region: "UK Glasgow", IPs: []net.IP{{185, 108, 105, 157}}},
{Region: "UK London", IPs: []net.IP{{178, 239, 166, 218}, {185, 44, 78, 164}}},
{Region: "UK London mp001", IPs: []net.IP{{206, 189, 119, 92}}},
{Region: "UK London st001", IPs: []net.IP{{217, 146, 82, 83}}},
{Region: "UK London st002", IPs: []net.IP{{185, 134, 22, 80}}},
{Region: "UK London st003", IPs: []net.IP{{185, 134, 22, 92}}},
{Region: "UK London st004", IPs: []net.IP{{185, 44, 76, 186}}},
{Region: "UK London st005", IPs: []net.IP{{185, 44, 76, 188}}},
{Region: "UK Manchester", IPs: []net.IP{{37, 120, 200, 5}, {37, 120, 200, 117}, {89, 238, 130, 235}, {91, 90, 121, 131}, {91, 90, 121, 149}, {194, 37, 98, 37}, {194, 37, 98, 219}, {217, 138, 196, 3}}},
{Region: "US Bend", IPs: []net.IP{{45, 43, 14, 73}, {45, 43, 14, 75}, {45, 43, 14, 85}, {45, 43, 14, 93}, {45, 43, 14, 95}, {45, 43, 14, 105}, {154, 16, 168, 186}}},
{Region: "US Boston", IPs: []net.IP{{173, 237, 207, 32}, {173, 237, 207, 42}, {173, 237, 207, 60}, {192, 34, 83, 230}, {192, 34, 83, 236}, {199, 217, 107, 20}}},
{Region: "US Charlotte", IPs: []net.IP{{154, 16, 171, 195}, {154, 16, 171, 197}, {154, 16, 171, 206}, {155, 254, 29, 165}, {155, 254, 31, 182}, {192, 154, 253, 67}, {192, 154, 254, 135}}},
{Region: "US Chicago", IPs: []net.IP{{74, 119, 146, 181}, {107, 152, 100, 26}, {143, 244, 60, 167}, {143, 244, 60, 169}, {184, 170, 250, 72}, {184, 170, 250, 154}}},
{Region: "US Dallas", IPs: []net.IP{{66, 115, 177, 133}, {66, 115, 177, 138}, {66, 115, 177, 146}, {66, 115, 177, 151}, {66, 115, 177, 153}, {66, 115, 177, 156}, {89, 187, 175, 165}, {212, 102, 40, 76}}},
{Region: "US Denver", IPs: []net.IP{{174, 128, 245, 149}, {212, 102, 44, 68}, {212, 102, 44, 71}, {212, 102, 44, 83}, {212, 102, 44, 91}, {212, 102, 44, 98}}},
{Region: "US Gahanna", IPs: []net.IP{{104, 244, 208, 37}, {104, 244, 208, 107}, {104, 244, 209, 53}, {104, 244, 209, 101}, {104, 244, 210, 115}, {104, 244, 211, 141}}},
{Region: "US Houston", IPs: []net.IP{{104, 148, 30, 37}, {104, 148, 30, 83}, {199, 10, 64, 67}, {199, 10, 64, 69}, {199, 10, 64, 99}, {199, 10, 64, 179}}},
{Region: "US Kansas City", IPs: []net.IP{{63, 141, 236, 243}, {63, 141, 236, 245}, {69, 30, 249, 123}, {173, 208, 149, 197}, {173, 208, 202, 59}, {173, 208, 202, 61}, {198, 204, 231, 147}, {198, 204, 231, 149}}},
{Region: "US Las Vegas", IPs: []net.IP{{45, 89, 173, 203}, {79, 110, 54, 125}, {79, 110, 54, 131}, {89, 187, 187, 147}, {89, 187, 187, 149}, {185, 242, 5, 155}, {185, 242, 5, 211}, {185, 242, 5, 213}}},
{Region: "US Latham", IPs: []net.IP{{45, 43, 19, 74}, {45, 43, 19, 84}, {45, 43, 19, 90}, {154, 16, 169, 3}, {154, 16, 169, 7}}},
{Region: "US Los Angeles", IPs: []net.IP{{84, 17, 45, 249}, {138, 199, 9, 193}, {138, 199, 9, 199}, {138, 199, 9, 209}, {172, 83, 44, 83}, {184, 170, 243, 215}, {192, 111, 134, 69}, {192, 111, 134, 202}}},
{Region: "US Miami", IPs: []net.IP{{89, 187, 173, 201}, {107, 181, 164, 211}, {172, 83, 42, 3}, {172, 83, 42, 5}, {172, 83, 42, 55}, {172, 83, 42, 141}}},
{Region: "US New York City", IPs: []net.IP{{84, 17, 35, 71}, {84, 17, 35, 86}, {138, 199, 40, 169}, {138, 199, 40, 179}, {172, 98, 75, 35}, {192, 40, 59, 227}, {192, 40, 59, 240}, {199, 36, 221, 85}}},
{Region: "UK Manchester", IPs: []net.IP{{193, 148, 17, 83}, {217, 138, 196, 91}}},
{Region: "US Atlanta", IPs: []net.IP{{66, 115, 166, 147}, {66, 115, 166, 151}}},
{Region: "US Bend", IPs: []net.IP{{45, 43, 14, 95}}},
{Region: "US Boston", IPs: []net.IP{{173, 237, 207, 13}, {199, 217, 107, 20}}},
{Region: "US Buffalo", IPs: []net.IP{{107, 174, 20, 130}}},
{Region: "US Charlotte", IPs: []net.IP{{66, 11, 124, 136}, {192, 154, 254, 135}}},
{Region: "US Chicago", IPs: []net.IP{{74, 119, 146, 197}, {89, 187, 182, 173}}},
{Region: "US Dallas", IPs: []net.IP{{66, 115, 177, 133}, {66, 115, 177, 158}}},
{Region: "US Denver", IPs: []net.IP{{212, 102, 44, 76}, {212, 102, 44, 98}}},
{Region: "US Gahanna", IPs: []net.IP{{104, 244, 209, 99}, {104, 244, 211, 171}}},
{Region: "US Houston", IPs: []net.IP{{104, 148, 30, 53}, {199, 10, 64, 115}}},
{Region: "US Kansas City", IPs: []net.IP{{173, 208, 202, 59}, {173, 208, 202, 61}}},
{Region: "US Las Vegas", IPs: []net.IP{{89, 187, 187, 149}, {185, 242, 5, 215}}},
{Region: "US Latham", IPs: []net.IP{{45, 43, 19, 74}, {45, 43, 19, 92}}},
{Region: "US Los Angeles", IPs: []net.IP{{38, 95, 110, 73}, {192, 111, 134, 202}}},
{Region: "US Maryland", IPs: []net.IP{{23, 82, 8, 173}, {23, 105, 163, 94}}},
{Region: "US Miami", IPs: []net.IP{{89, 187, 173, 250}, {172, 83, 42, 143}}},
{Region: "US Netherlands", IPs: []net.IP{{142, 93, 58, 71}}},
{Region: "US New York City", IPs: []net.IP{{84, 17, 35, 78}, {89, 187, 178, 92}}},
{Region: "US New York City mp001", IPs: []net.IP{{45, 55, 60, 159}}},
{Region: "US New York City st001", IPs: []net.IP{{92, 119, 177, 19}}},
{Region: "US New York City st002", IPs: []net.IP{{92, 119, 177, 21}}},
{Region: "US New York City st003", IPs: []net.IP{{92, 119, 177, 23}}},
{Region: "US New York City st004", IPs: []net.IP{{193, 148, 18, 51}}},
{Region: "US New York City st005", IPs: []net.IP{{193, 148, 18, 53}}},
{Region: "US Orlando", IPs: []net.IP{{66, 115, 182, 74}, {198, 147, 22, 83}, {198, 147, 22, 85}, {198, 147, 22, 87}, {198, 147, 22, 131}, {198, 147, 22, 147}, {198, 147, 22, 163}, {198, 147, 22, 211}}},
{Region: "US Phoenix", IPs: []net.IP{{107, 181, 184, 117}, {199, 58, 187, 3}, {199, 58, 187, 5}, {199, 58, 187, 8}, {199, 58, 187, 15}, {199, 58, 187, 69}}},
{Region: "US Saint Louis", IPs: []net.IP{{148, 72, 169, 209}, {148, 72, 169, 211}, {148, 72, 169, 213}, {148, 72, 174, 36}, {148, 72, 174, 38}, {148, 72, 174, 48}}},
{Region: "US Salt Lake City", IPs: []net.IP{{104, 200, 131, 165}, {104, 200, 131, 167}, {104, 200, 131, 172}, {104, 200, 131, 229}, {104, 200, 131, 233}, {104, 200, 131, 245}}},
{Region: "US San Francisco", IPs: []net.IP{{107, 181, 166, 55}, {185, 124, 240, 143}, {185, 124, 240, 151}, {185, 124, 240, 161}, {185, 124, 240, 173}, {198, 8, 81, 37}}},
{Region: "US Orlando", IPs: []net.IP{{198, 147, 22, 135}, {198, 147, 22, 213}}},
{Region: "US Phoenix", IPs: []net.IP{{184, 170, 240, 179}, {199, 58, 187, 3}}},
{Region: "US Portugal", IPs: []net.IP{{142, 93, 81, 242}}},
{Region: "US Saint Louis", IPs: []net.IP{{148, 72, 174, 43}, {148, 72, 174, 51}}},
{Region: "US Salt Lake City", IPs: []net.IP{{104, 200, 131, 165}, {104, 200, 131, 249}}},
{Region: "US San Francisco", IPs: []net.IP{{107, 181, 166, 39}, {107, 181, 166, 83}}},
{Region: "US San Francisco mp001", IPs: []net.IP{{165, 232, 53, 25}}},
{Region: "US Tampa", IPs: []net.IP{{209, 216, 92, 200}, {209, 216, 92, 205}, {209, 216, 92, 210}, {209, 216, 92, 215}, {209, 216, 92, 220}, {209, 216, 92, 227}}},
{Region: "Ukraine", IPs: []net.IP{{45, 9, 238, 23}, {45, 9, 238, 38}, {176, 107, 185, 71}, {176, 107, 185, 73}}},
{Region: "United Arab Emirates", IPs: []net.IP{{45, 9, 249, 243}, {45, 9, 249, 247}, {45, 9, 250, 101}, {176, 125, 231, 5}, {176, 125, 231, 13}, {176, 125, 231, 27}}},
{Region: "Vietnam", IPs: []net.IP{{202, 143, 110, 29}, {202, 143, 110, 36}}},
{Region: "US Seatle", IPs: []net.IP{{199, 229, 250, 163}}},
{Region: "US Tampa", IPs: []net.IP{{209, 216, 92, 197}, {209, 216, 92, 205}}},
{Region: "Ukraine", IPs: []net.IP{{45, 9, 238, 23}, {45, 9, 238, 30}}},
{Region: "United Arab Emirates", IPs: []net.IP{{45, 9, 250, 99}, {45, 9, 250, 103}}},
{Region: "Vietnam", IPs: []net.IP{{202, 143, 110, 29}, {202, 143, 110, 32}}},
}
}

View File

@@ -38,18 +38,18 @@ func VyprvpnServers() []models.VyprvpnServer {
{Region: "Czech Republic", IPs: []net.IP{{128, 90, 96, 24}}},
{Region: "Denmark", IPs: []net.IP{{128, 90, 96, 28}}},
{Region: "Dubai", IPs: []net.IP{{128, 90, 45, 104}}},
{Region: "Egypt", IPs: []net.IP{{209, 99, 75, 21}}},
{Region: "Egypt", IPs: []net.IP{{128, 90, 228, 43}}},
{Region: "El Salvador", IPs: []net.IP{{209, 99, 61, 20}}},
{Region: "Finland", IPs: []net.IP{{128, 90, 96, 32}}},
{Region: "France", IPs: []net.IP{{128, 90, 96, 34}}},
{Region: "Germany", IPs: []net.IP{{128, 90, 96, 26}}},
{Region: "Greece", IPs: []net.IP{{209, 99, 75, 22}}},
{Region: "Greece", IPs: []net.IP{{128, 90, 228, 59}}},
{Region: "Hong Kong", IPs: []net.IP{{128, 90, 227, 18}}},
{Region: "Iceland", IPs: []net.IP{{209, 99, 22, 20}}},
{Region: "India", IPs: []net.IP{{209, 99, 115, 20}}},
{Region: "Indonesia", IPs: []net.IP{{209, 99, 1, 20}}},
{Region: "Ireland", IPs: []net.IP{{209, 99, 22, 19}}},
{Region: "Israel", IPs: []net.IP{{209, 99, 75, 18}}},
{Region: "Israel", IPs: []net.IP{{128, 90, 228, 20}}},
{Region: "Italy", IPs: []net.IP{{128, 90, 96, 36}}},
{Region: "Japan", IPs: []net.IP{{209, 99, 113, 18}}},
{Region: "Latvia", IPs: []net.IP{{128, 90, 96, 44}}},
@@ -64,7 +64,7 @@ func VyprvpnServers() []models.VyprvpnServer {
{Region: "Netherlands", IPs: []net.IP{{128, 90, 96, 16}}},
{Region: "New Zealand", IPs: []net.IP{{209, 99, 117, 20}}},
{Region: "Norway", IPs: []net.IP{{128, 90, 96, 46}}},
{Region: "Pakistan", IPs: []net.IP{{209, 99, 75, 23}}},
{Region: "Pakistan", IPs: []net.IP{{128, 90, 228, 67}}},
{Region: "Panama", IPs: []net.IP{{209, 99, 109, 23}}},
{Region: "Philippines", IPs: []net.IP{{209, 99, 1, 22}}},
{Region: "Poland", IPs: []net.IP{{128, 90, 96, 48}}},
@@ -90,6 +90,7 @@ func VyprvpnServers() []models.VyprvpnServer {
{Region: "USA New York", IPs: []net.IP{{209, 99, 63, 18}}},
{Region: "USA San Francisco", IPs: []net.IP{{209, 99, 95, 18}}},
{Region: "USA Seattle", IPs: []net.IP{{209, 99, 94, 18}}},
{Region: "USA Washington", IPs: []net.IP{{209, 99, 62, 18}}},
{Region: "USA Washington DC", IPs: []net.IP{{209, 99, 62, 18}}},
{Region: "Ukraine", IPs: []net.IP{{128, 90, 96, 64}}},
{Region: "United Kingdom", IPs: []net.IP{{209, 99, 22, 18}}},

View File

@@ -39,10 +39,15 @@ func WindscribeHostnameChoices() (choices []string) {
return choices
}
//nolint:lll
func WindscribeServers() []models.WindscribeServer {
return []models.WindscribeServer{
{Region: "Albania", City: "Tirana", Hostname: "al-002.whiskergalaxy.com", IP: net.IP{31, 171, 152, 179}},
{Region: "Argentina", City: "Buenos Aires", Hostname: "ar-008.whiskergalaxy.com", IP: net.IP{190, 103, 176, 147}},
{Region: "Argentina", City: "Buenos Aires", Hostname: "ar-001.whiskergalaxy.com", IP: net.IP{200, 85, 152, 110}},
{Region: "Argentina", City: "Buenos Aires", Hostname: "ar-003.whiskergalaxy.com", IP: net.IP{167, 250, 6, 121}},
{Region: "Argentina", City: "Buenos Aires", Hostname: "ar-004.whiskergalaxy.com", IP: net.IP{190, 105, 236, 50}},
{Region: "Argentina", City: "Buenos Aires", Hostname: "ar-005.whiskergalaxy.com", IP: net.IP{190, 105, 236, 32}},
{Region: "Argentina", City: "Buenos Aires", Hostname: "ar-006.whiskergalaxy.com", IP: net.IP{190, 105, 236, 19}},
{Region: "Australia", City: "Adelaide ", Hostname: "au-011.whiskergalaxy.com", IP: net.IP{103, 108, 92, 83}},
{Region: "Australia", City: "Adelaide", Hostname: "au-008.whiskergalaxy.com", IP: net.IP{116, 90, 72, 243}},
{Region: "Australia", City: "Brisbane", Hostname: "au-007.whiskergalaxy.com", IP: net.IP{103, 62, 50, 208}},
@@ -54,13 +59,10 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "Australia", City: "Perth", Hostname: "au-012.whiskergalaxy.com", IP: net.IP{103, 77, 234, 211}},
{Region: "Australia", City: "Sydney", Hostname: "au-009.whiskergalaxy.com", IP: net.IP{103, 77, 233, 67}},
{Region: "Australia", City: "Sydney", Hostname: "au-015.whiskergalaxy.com", IP: net.IP{103, 1, 213, 211}},
{Region: "Australia", City: "Sydney", Hostname: "au-016.whiskergalaxy.com", IP: net.IP{103, 1, 212, 243}},
{Region: "Austria", City: "Vienna", Hostname: "at-001.whiskergalaxy.com", IP: net.IP{217, 64, 127, 11}},
{Region: "Austria", City: "Vienna", Hostname: "at-002.whiskergalaxy.com", IP: net.IP{89, 187, 168, 66}},
{Region: "Azerbaijan", City: "Baku City", Hostname: "az-001.whiskergalaxy.com", IP: net.IP{85, 132, 61, 123}},
{Region: "Belgium", City: "Brussels", Hostname: "be-001.whiskergalaxy.com", IP: net.IP{194, 187, 251, 147}},
{Region: "Belgium", City: "Brussels", Hostname: "be-002.whiskergalaxy.com", IP: net.IP{185, 232, 21, 131}},
{Region: "Bosnia", City: "Sarajevo", Hostname: "ba-001.whiskergalaxy.com", IP: net.IP{185, 99, 3, 24}},
{Region: "Brazil", City: "Sao Paulo", Hostname: "br-004.whiskergalaxy.com", IP: net.IP{177, 67, 80, 59}},
{Region: "Brazil", City: "Sao Paulo", Hostname: "br-005.whiskergalaxy.com", IP: net.IP{177, 54, 157, 178}},
{Region: "Brazil", City: "Sao Paulo", Hostname: "br-006.whiskergalaxy.com", IP: net.IP{177, 54, 148, 247}},
@@ -84,8 +86,6 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "Canada West", City: "Vancouver", Hostname: "ca-west-016.whiskergalaxy.com", IP: net.IP{208, 78, 41, 1}},
{Region: "Canada West", City: "Vancouver", Hostname: "ca-west-017.whiskergalaxy.com", IP: net.IP{208, 78, 41, 131}},
{Region: "Canada West", City: "Vancouver", Hostname: "ca-west-019.whiskergalaxy.com", IP: net.IP{208, 78, 41, 163}},
{Region: "Chile", City: "Santiago", Hostname: "cl-001.whiskergalaxy.com", IP: net.IP{66, 203, 113, 131}},
{Region: "Chile", City: "Santiago", Hostname: "cl-002.whiskergalaxy.com", IP: net.IP{66, 203, 113, 136}},
{Region: "Colombia", City: "Bogota", Hostname: "co-001.whiskergalaxy.com", IP: net.IP{138, 121, 203, 203}},
{Region: "Colombia", City: "Bogota", Hostname: "co-002.whiskergalaxy.com", IP: net.IP{138, 186, 141, 155}},
{Region: "Croatia", City: "Zagreb", Hostname: "hr-002.whiskergalaxy.com", IP: net.IP{85, 10, 56, 129}},
@@ -124,7 +124,7 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "India", City: "Chennai", Hostname: "in-006.whiskergalaxy.com", IP: net.IP{169, 38, 72, 14}},
{Region: "India", City: "Chennai", Hostname: "in-007.whiskergalaxy.com", IP: net.IP{169, 38, 72, 12}},
{Region: "India", City: "Mumbai", Hostname: "in-009.whiskergalaxy.com", IP: net.IP{165, 231, 253, 211}},
{Region: "India", City: "Pune", Hostname: "in-008.whiskergalaxy.com", IP: net.IP{103, 205, 140, 227}},
{Region: "India", City: "New Delhi", Hostname: "in-008.whiskergalaxy.com", IP: net.IP{103, 205, 140, 227}},
{Region: "Indonesia", City: "Jakarta", Hostname: "id-002.whiskergalaxy.com", IP: net.IP{45, 127, 134, 91}},
{Region: "Ireland", City: "Dublin", Hostname: "ie-001.whiskergalaxy.com", IP: net.IP{185, 24, 232, 146}},
{Region: "Ireland", City: "Dublin", Hostname: "ie-002.whiskergalaxy.com", IP: net.IP{185, 104, 219, 2}},
@@ -137,7 +137,7 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "Italy", City: "Rome", Hostname: "it-003.whiskergalaxy.com", IP: net.IP{87, 101, 94, 195}},
{Region: "Italy", City: "Rome", Hostname: "it-006.whiskergalaxy.com", IP: net.IP{37, 120, 207, 19}},
{Region: "Japan", City: "Tokyo", Hostname: "jp-004.whiskergalaxy.com", IP: net.IP{193, 148, 16, 243}},
{Region: "Japan", City: "Tokyo", Hostname: "jp-006.whiskergalaxy.com", IP: net.IP{138, 199, 22, 162}},
{Region: "Japan", City: "Tokyo", Hostname: "jp-005.whiskergalaxy.com", IP: net.IP{89, 187, 161, 114}},
{Region: "Latvia", City: "Riga", Hostname: "lv-003.whiskergalaxy.com", IP: net.IP{85, 254, 72, 23}},
{Region: "Latvia", City: "Riga", Hostname: "lv-004.whiskergalaxy.com", IP: net.IP{89, 111, 33, 220}},
{Region: "Lithuania", City: "Siauliai", Hostname: "lt-003.whiskergalaxy.com", IP: net.IP{85, 206, 163, 225}},
@@ -174,7 +174,6 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "Romania", City: "Bucharest", Hostname: "ro-008.whiskergalaxy.com", IP: net.IP{91, 207, 102, 147}},
{Region: "Russia", City: "Moscow", Hostname: "ru-010.whiskergalaxy.com", IP: net.IP{95, 213, 193, 227}},
{Region: "Russia", City: "Moscow", Hostname: "ru-011.whiskergalaxy.com", IP: net.IP{95, 213, 193, 195}},
{Region: "Russia", City: "Saint Petersburg", Hostname: "ru-005.whiskergalaxy.com", IP: net.IP{185, 22, 175, 132}},
{Region: "Russia", City: "Saint Petersburg", Hostname: "ru-008.whiskergalaxy.com", IP: net.IP{94, 242, 62, 19}},
{Region: "Russia", City: "Saint Petersburg", Hostname: "ru-009.whiskergalaxy.com", IP: net.IP{94, 242, 62, 67}},
{Region: "Russia", City: "Saint Petersburg", Hostname: "ru-012.whiskergalaxy.com", IP: net.IP{188, 124, 42, 115}},
@@ -186,13 +185,13 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "Singapore", City: "Singapore", Hostname: "sg-006.whiskergalaxy.com", IP: net.IP{156, 146, 56, 98}},
{Region: "Singapore", City: "Singapore", Hostname: "sg-007.whiskergalaxy.com", IP: net.IP{156, 146, 56, 111}},
{Region: "Slovakia", City: "Bratislava", Hostname: "sk-001.whiskergalaxy.com", IP: net.IP{185, 245, 85, 3}},
{Region: "South Africa", City: "Johannesburg", Hostname: "za-001.whiskergalaxy.com", IP: net.IP{197, 242, 157, 235}},
{Region: "South Africa", City: "Johannesburg", Hostname: "za-002.whiskergalaxy.com", IP: net.IP{129, 232, 167, 211}},
{Region: "South Africa", City: "Johannesburg", Hostname: "za-003.whiskergalaxy.com", IP: net.IP{197, 242, 156, 53}},
{Region: "South Africa", City: "Johannesburg", Hostname: "za-004.whiskergalaxy.com", IP: net.IP{165, 73, 248, 91}},
{Region: "South Korea", City: "Seoul", Hostname: "kr-001.whiskergalaxy.com", IP: net.IP{103, 212, 223, 3}},
{Region: "South Korea", City: "Seoul", Hostname: "kr-002.whiskergalaxy.com", IP: net.IP{218, 232, 76, 179}},
{Region: "South Korea", City: "Seoul", Hostname: "kr-005.whiskergalaxy.com", IP: net.IP{45, 133, 194, 235}},
{Region: "Spain", City: "Barcelona", Hostname: "es-001.whiskergalaxy.com", IP: net.IP{185, 253, 99, 131}},
{Region: "Spain", City: "Barcelona", Hostname: "es-004.whiskergalaxy.com", IP: net.IP{37, 120, 142, 227}},
{Region: "Spain", City: "Madrid", Hostname: "es-002.whiskergalaxy.com", IP: net.IP{89, 238, 178, 43}},
{Region: "Spain", City: "Madrid", Hostname: "es-003.whiskergalaxy.com", IP: net.IP{217, 138, 218, 99}},
@@ -217,7 +216,6 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "Turkey", City: "Istanbul", Hostname: "tr-006.whiskergalaxy.com", IP: net.IP{185, 125, 33, 227}},
{Region: "Turkey", City: "Istanbul", Hostname: "tr-009.whiskergalaxy.com", IP: net.IP{79, 98, 131, 43}},
{Region: "Turkey", City: "Istanbul", Hostname: "tr-011.whiskergalaxy.com", IP: net.IP{176, 53, 113, 163}},
{Region: "US Central", City: "Atlanta", Hostname: "us-central-015.whiskergalaxy.com", IP: net.IP{107, 150, 31, 131}},
{Region: "US Central", City: "Atlanta", Hostname: "us-central-016.whiskergalaxy.com", IP: net.IP{104, 129, 18, 3}},
{Region: "US Central", City: "Atlanta", Hostname: "us-central-020.whiskergalaxy.com", IP: net.IP{104, 129, 18, 131}},
{Region: "US Central", City: "Atlanta", Hostname: "us-central-034.whiskergalaxy.com", IP: net.IP{161, 129, 70, 195}},
@@ -240,6 +238,8 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "US Central", City: "Denver", Hostname: "us-central-058.whiskergalaxy.com", IP: net.IP{198, 54, 128, 116}},
{Region: "US Central", City: "Denver", Hostname: "us-central-062.whiskergalaxy.com", IP: net.IP{174, 128, 251, 147}},
{Region: "US Central", City: "Kansas City", Hostname: "us-central-063.whiskergalaxy.com", IP: net.IP{38, 146, 5, 51}},
{Region: "US Central", City: "Salt Lake City", Hostname: "us-central-047.whiskergalaxy.com", IP: net.IP{107, 182, 234, 240}},
{Region: "US Central", City: "Salt Lake City", Hostname: "us-central-052.whiskergalaxy.com", IP: net.IP{67, 212, 238, 196}},
{Region: "US East", City: "Boston", Hostname: "us-east-039.whiskergalaxy.com", IP: net.IP{199, 217, 104, 227}},
{Region: "US East", City: "Boston", Hostname: "us-east-051.whiskergalaxy.com", IP: net.IP{199, 217, 105, 227}},
{Region: "US East", City: "Buffalo", Hostname: "us-east-045.whiskergalaxy.com", IP: net.IP{104, 168, 34, 147}},
@@ -253,15 +253,14 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "US East", City: "Chicago", Hostname: "us-east-069.whiskergalaxy.com", IP: net.IP{68, 235, 35, 172}},
{Region: "US East", City: "Chicago", Hostname: "us-east-071.whiskergalaxy.com", IP: net.IP{68, 235, 35, 12}},
{Region: "US East", City: "Chicago", Hostname: "us-east-077.whiskergalaxy.com", IP: net.IP{68, 235, 43, 204}},
{Region: "US East", City: "Chicago", Hostname: "us-east-083.whiskergalaxy.com", IP: net.IP{23, 19, 122, 225}},
{Region: "US East", City: "Cleveland", Hostname: "us-east-078.whiskergalaxy.com", IP: net.IP{38, 101, 74, 19}},
{Region: "US East", City: "Columbus", Hostname: "us-east-059.whiskergalaxy.com", IP: net.IP{67, 219, 146, 67}},
{Region: "US East", City: "Detroit", Hostname: "us-east-079.whiskergalaxy.com", IP: net.IP{104, 244, 210, 51}},
{Region: "US East", City: "Miami", Hostname: "us-east-006.whiskergalaxy.com", IP: net.IP{173, 44, 36, 67}},
{Region: "US East", City: "Miami", Hostname: "us-east-012.whiskergalaxy.com", IP: net.IP{45, 87, 214, 35}},
{Region: "US East", City: "Miami", Hostname: "us-east-028.whiskergalaxy.com", IP: net.IP{104, 223, 127, 195}},
{Region: "US East", City: "Miami", Hostname: "us-east-049.whiskergalaxy.com", IP: net.IP{23, 82, 136, 93}},
{Region: "US East", City: "Miami", Hostname: "us-east-067.whiskergalaxy.com", IP: net.IP{86, 106, 87, 83}},
{Region: "US East", City: "Miami", Hostname: "us-east-084.whiskergalaxy.com", IP: net.IP{23, 82, 137, 72}},
{Region: "US East", City: "New Jersey", Hostname: "us-east-020.whiskergalaxy.com", IP: net.IP{162, 222, 195, 67}},
{Region: "US East", City: "New Jersey", Hostname: "us-east-054.whiskergalaxy.com", IP: net.IP{167, 160, 167, 195}},
{Region: "US East", City: "New York", Hostname: "us-east-013.whiskergalaxy.com", IP: net.IP{185, 232, 22, 195}},
@@ -269,12 +268,11 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "US East", City: "New York", Hostname: "us-east-050.whiskergalaxy.com", IP: net.IP{173, 208, 45, 33}},
{Region: "US East", City: "New York", Hostname: "us-east-064.whiskergalaxy.com", IP: net.IP{206, 217, 128, 3}},
{Region: "US East", City: "New York", Hostname: "us-east-068.whiskergalaxy.com", IP: net.IP{142, 234, 200, 176}},
{Region: "US East", City: "New York", Hostname: "us-east-073.whiskergalaxy.com", IP: net.IP{217, 138, 255, 163}},
{Region: "US East", City: "New York", Hostname: "us-east-074.whiskergalaxy.com", IP: net.IP{217, 138, 255, 179}},
{Region: "US East", City: "Orlando", Hostname: "us-east-052.whiskergalaxy.com", IP: net.IP{198, 147, 22, 225}},
{Region: "US East", City: "Orlando", Hostname: "us-east-082.whiskergalaxy.com", IP: net.IP{66, 115, 182, 131}},
{Region: "US East", City: "Philadelphia", Hostname: "us-east-060.whiskergalaxy.com", IP: net.IP{76, 72, 175, 99}},
{Region: "US East", City: "Philadelphia", Hostname: "us-east-061.whiskergalaxy.com", IP: net.IP{156, 96, 59, 102}},
{Region: "US East", City: "Tampa", Hostname: "us-east-080.whiskergalaxy.com", IP: net.IP{209, 216, 79, 83}},
{Region: "US East", City: "Tampa", Hostname: "us-east-081.whiskergalaxy.com", IP: net.IP{209, 216, 79, 67}},
{Region: "US East", City: "Washington DC", Hostname: "us-east-048.whiskergalaxy.com", IP: net.IP{23, 82, 8, 143}},
{Region: "US East", City: "Washington DC", Hostname: "us-east-055.whiskergalaxy.com", IP: net.IP{23, 105, 170, 139}},
{Region: "US East", City: "Washington DC", Hostname: "us-east-057.whiskergalaxy.com", IP: net.IP{23, 105, 170, 130}},
@@ -300,7 +298,6 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "US West", City: "San Francisco", Hostname: "us-west-053.whiskergalaxy.com", IP: net.IP{209, 58, 129, 121}},
{Region: "US West", City: "San Francisco", Hostname: "us-west-054.whiskergalaxy.com", IP: net.IP{172, 255, 125, 141}},
{Region: "US West", City: "San Jose", Hostname: "us-west-052.whiskergalaxy.com", IP: net.IP{66, 115, 176, 3}},
{Region: "US West", City: "San Jose", Hostname: "us-west-067.whiskergalaxy.com", IP: net.IP{66, 115, 165, 227}},
{Region: "US West", City: "Santa Clara", Hostname: "us-west-050.whiskergalaxy.com", IP: net.IP{167, 88, 60, 227}},
{Region: "US West", City: "Santa Clara", Hostname: "us-west-051.whiskergalaxy.com", IP: net.IP{167, 88, 60, 243}},
{Region: "US West", City: "Seattle", Hostname: "us-west-043.whiskergalaxy.com", IP: net.IP{23, 94, 74, 99}},
@@ -319,10 +316,10 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "United Kingdom", City: "London", Hostname: "uk-017.whiskergalaxy.com", IP: net.IP{84, 17, 50, 130}},
{Region: "United Kingdom", City: "London", Hostname: "uk-021.whiskergalaxy.com", IP: net.IP{212, 102, 63, 32}},
{Region: "United Kingdom", City: "London", Hostname: "uk-022.whiskergalaxy.com", IP: net.IP{212, 102, 63, 62}},
{Region: "United Kingdom", City: "London", Hostname: "uk-024.whiskergalaxy.com", IP: net.IP{217, 138, 254, 51}},
{Region: "United Kingdom", City: "Manchester", Hostname: "uk-008.whiskergalaxy.com", IP: net.IP{81, 92, 207, 69}},
{Region: "United Kingdom", City: "Manchester", Hostname: "uk-010.whiskergalaxy.com", IP: net.IP{89, 238, 135, 133}},
{Region: "United Kingdom", City: "Manchester", Hostname: "uk-025.whiskergalaxy.com", IP: net.IP{89, 44, 201, 99}},
{Region: "United Kingdom", City: "Manchester", Hostname: "uk-027.whiskergalaxy.com", IP: net.IP{84, 252, 95, 131}},
{Region: "Vietnam", City: "Hanoi", Hostname: "vn-001.whiskergalaxy.com", IP: net.IP{103, 9, 76, 197}},
{Region: "Vietnam", City: "Hanoi", Hostname: "vn-002.whiskergalaxy.com", IP: net.IP{103, 9, 79, 186}},
{Region: "Vietnam", City: "Hanoi", Hostname: "vn-003.whiskergalaxy.com", IP: net.IP{103, 9, 79, 219}},
@@ -331,6 +328,7 @@ func WindscribeServers() []models.WindscribeServer {
{Region: "WINDFLIX JP", City: "Tokyo", Hostname: "wf-jp-002.whiskergalaxy.com", IP: net.IP{5, 181, 235, 67}},
{Region: "WINDFLIX UK", City: "London", Hostname: "wf-uk-001.whiskergalaxy.com", IP: net.IP{45, 9, 248, 3}},
{Region: "WINDFLIX UK", City: "London", Hostname: "wf-uk-006.whiskergalaxy.com", IP: net.IP{81, 92, 200, 85}},
{Region: "WINDFLIX UK", City: "London", Hostname: "wf-uk-007.whiskergalaxy.com", IP: net.IP{89, 47, 62, 83}},
{Region: "WINDFLIX US", City: "New York", Hostname: "wf-us-010.whiskergalaxy.com", IP: net.IP{38, 132, 122, 195}},
{Region: "WINDFLIX US", City: "New York", Hostname: "wf-us-011.whiskergalaxy.com", IP: net.IP{38, 132, 122, 131}},
{Region: "WINDFLIX US", City: "New York", Hostname: "wf-us-012.whiskergalaxy.com", IP: net.IP{185, 232, 22, 131}},

View File

@@ -1,61 +0,0 @@
package dns
import (
"regexp"
"strings"
"sync"
"github.com/qdm12/gluetun/internal/constants"
"github.com/qdm12/golibs/logging"
)
func (l *looper) collectLines(wg *sync.WaitGroup, stdout, stderr <-chan string) {
defer wg.Done()
var line string
var ok bool
for {
select {
case line, ok = <-stderr:
case line, ok = <-stdout:
}
if !ok {
return
}
line, level := processLogLine(line)
switch level {
case logging.DebugLevel:
l.logger.Debug(line)
case logging.InfoLevel:
l.logger.Info(line)
case logging.WarnLevel:
l.logger.Warn(line)
case logging.ErrorLevel:
l.logger.Error(line)
}
}
}
var unboundPrefix = regexp.MustCompile(`\[[0-9]{10}\] unbound\[[0-9]+:[0|1]\] `)
func processLogLine(s string) (filtered string, level logging.Level) {
prefix := unboundPrefix.FindString(s)
filtered = s[len(prefix):]
switch {
case strings.HasPrefix(filtered, "notice: "):
filtered = strings.TrimPrefix(filtered, "notice: ")
level = logging.InfoLevel
case strings.HasPrefix(filtered, "info: "):
filtered = strings.TrimPrefix(filtered, "info: ")
level = logging.InfoLevel
case strings.HasPrefix(filtered, "warn: "):
filtered = strings.TrimPrefix(filtered, "warn: ")
level = logging.WarnLevel
case strings.HasPrefix(filtered, "error: "):
filtered = strings.TrimPrefix(filtered, "error: ")
level = logging.ErrorLevel
default:
level = logging.InfoLevel
}
filtered = constants.ColorUnbound().Sprintf(filtered)
return filtered, level
}

View File

@@ -1,49 +0,0 @@
package dns
import (
"testing"
"github.com/qdm12/golibs/logging"
"github.com/stretchr/testify/assert"
)
func Test_processLogLine(t *testing.T) {
t.Parallel()
tests := map[string]struct {
s string
filtered string
level logging.Level
}{
"empty string": {"", "", logging.InfoLevel},
"random string": {"asdasqdb", "asdasqdb", logging.InfoLevel},
"unbound notice": {
"[1594595249] unbound[75:0] notice: init module 0: validator",
"init module 0: validator",
logging.InfoLevel},
"unbound info": {
"[1594595249] unbound[75:0] info: init module 0: validator",
"init module 0: validator",
logging.InfoLevel},
"unbound warn": {
"[1594595249] unbound[75:0] warn: init module 0: validator",
"init module 0: validator",
logging.WarnLevel},
"unbound error": {
"[1594595249] unbound[75:0] error: init module 0: validator",
"init module 0: validator",
logging.ErrorLevel},
"unbound unknown": {
"[1594595249] unbound[75:0] BLA: init module 0: validator",
"BLA: init module 0: validator",
logging.InfoLevel},
}
for name, tc := range tests {
tc := tc
t.Run(name, func(t *testing.T) {
t.Parallel()
filtered, level := processLogLine(tc.s)
assert.Equal(t, tc.filtered, filtered)
assert.Equal(t, tc.level, level)
})
}
}

View File

@@ -12,11 +12,12 @@ import (
"github.com/qdm12/gluetun/internal/constants"
"github.com/qdm12/gluetun/internal/models"
"github.com/qdm12/gluetun/internal/settings"
"github.com/qdm12/golibs/command"
"github.com/qdm12/golibs/logging"
)
type Looper interface {
Run(ctx context.Context, wg *sync.WaitGroup)
Run(ctx context.Context, wg *sync.WaitGroup, dnsReadyCh chan<- struct{})
RunRestartTicker(ctx context.Context, wg *sync.WaitGroup)
GetStatus() (status models.LoopStatus)
SetStatus(status models.LoopStatus) (outcome string, err error)
@@ -29,6 +30,7 @@ type looper struct {
conf unbound.Configurator
client *http.Client
logger logging.Logger
streamMerger command.StreamMerger
username string
puid int
pgid int
@@ -46,7 +48,8 @@ type looper struct {
const defaultBackoffTime = 10 * time.Second
func NewLooper(conf unbound.Configurator, settings settings.DNS, client *http.Client,
logger logging.Logger, username string, puid, pgid int) Looper {
logger logging.Logger, streamMerger command.StreamMerger,
username string, puid, pgid int) Looper {
return &looper{
state: state{
status: constants.Stopped,
@@ -58,6 +61,7 @@ func NewLooper(conf unbound.Configurator, settings settings.DNS, client *http.Cl
username: username,
puid: puid,
pgid: pgid,
streamMerger: streamMerger,
start: make(chan struct{}),
running: make(chan models.LoopStatus),
stop: make(chan struct{}),
@@ -70,9 +74,7 @@ func NewLooper(conf unbound.Configurator, settings settings.DNS, client *http.Cl
}
func (l *looper) logAndWait(ctx context.Context, err error) {
if err != nil {
l.logger.Warn(err)
}
l.logger.Warn(err)
l.logger.Info("attempting restart in %s", l.backoffTime)
timer := time.NewTimer(l.backoffTime)
l.backoffTime *= 2
@@ -85,7 +87,7 @@ func (l *looper) logAndWait(ctx context.Context, err error) {
}
}
func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup, dnsReadyCh chan<- struct{}) {
defer wg.Done()
const fallback = false
@@ -105,21 +107,16 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
for ctx.Err() == nil {
// Upper scope variables for Unbound only
// Their values are to be used if DOT=off
var waitError chan error
var unboundCancel context.CancelFunc
var closeStreams func()
var unboundCancel context.CancelFunc = func() {}
waitError := make(chan error)
for l.GetSettings().Enabled {
if ctx.Err() != nil {
if !crashed {
l.running <- constants.Stopped
}
l.logger.Warn("context canceled: exiting loop")
return
}
var err error
unboundCancel, waitError, closeStreams, err = l.setupUnbound(ctx, wg, crashed)
unboundCancel, err = l.setupUnbound(ctx, crashed, waitError)
if err != nil {
if !errors.Is(err, errUpdateFiles) {
const fallback = true
@@ -133,11 +130,10 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
if !l.GetSettings().Enabled {
const fallback = false
l.useUnencryptedDNS(fallback)
waitError := make(chan error)
unboundCancel = func() { waitError <- nil }
closeStreams = func() {}
}
dnsReadyCh <- struct{}{}
stayHere := true
for stayHere {
select {
@@ -146,7 +142,6 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
unboundCancel()
<-waitError
close(waitError)
closeStreams()
return
case <-l.stop:
l.logger.Info("stopping")
@@ -168,7 +163,7 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
}
}
close(waitError)
closeStreams()
unboundCancel()
}
}
@@ -177,29 +172,28 @@ var errUpdateFiles = errors.New("cannot update files")
// Returning cancel == nil signals we want to re-run setupUnbound
// Returning err == errUpdateFiles signals we should not fall back
// on the plaintext DNS as DOT is still up and running.
func (l *looper) setupUnbound(ctx context.Context, wg *sync.WaitGroup,
previousCrashed bool) (cancel context.CancelFunc, waitError chan error,
closeStreams func(), err error) {
func (l *looper) setupUnbound(ctx context.Context,
previousCrashed bool, waitError chan<- error) (cancel context.CancelFunc, err error) {
err = l.updateFiles(ctx)
if err != nil {
l.state.setStatusWithLock(constants.Crashed)
return nil, nil, nil, errUpdateFiles
return nil, errUpdateFiles
}
settings := l.GetSettings()
unboundCtx, cancel := context.WithCancel(context.Background())
stdoutLines, stderrLines, waitError, err := l.conf.Start(unboundCtx, settings.Unbound.VerbosityDetailsLevel)
stream, waitFn, err := l.conf.Start(unboundCtx, settings.Unbound.VerbosityDetailsLevel)
if err != nil {
cancel()
if !previousCrashed {
l.running <- constants.Crashed
}
return nil, nil, nil, err
return nil, err
}
wg.Add(1)
go l.collectLines(wg, stdoutLines, stderrLines)
// Started successfully
go l.streamMerger.Merge(unboundCtx, stream, command.MergeName("unbound"))
l.conf.UseDNSInternally(net.IP{127, 0, 0, 1}) // use Unbound
if err := l.conf.UseDNSSystemWide(net.IP{127, 0, 0, 1}, settings.KeepNameserver); err != nil { // use Unbound
@@ -211,13 +205,14 @@ func (l *looper) setupUnbound(ctx context.Context, wg *sync.WaitGroup,
l.running <- constants.Crashed
}
cancel()
<-waitError
close(waitError)
close(stdoutLines)
close(stderrLines)
return nil, nil, nil, err
return nil, err
}
go func() {
err := waitFn() // blocking
waitError <- err
}()
l.logger.Info("ready")
if !previousCrashed {
l.running <- constants.Running
@@ -225,13 +220,7 @@ func (l *looper) setupUnbound(ctx context.Context, wg *sync.WaitGroup,
l.backoffTime = defaultBackoffTime
l.state.setStatusWithLock(constants.Running)
}
closeStreams = func() {
close(stdoutLines)
close(stderrLines)
}
return cancel, waitError, closeStreams, nil
return cancel, nil
}
func (l *looper) useUnencryptedDNS(fallback bool) {

View File

@@ -121,9 +121,6 @@ func (c *configurator) acceptEstablishedRelatedTraffic(ctx context.Context, remo
func (c *configurator) acceptOutputTrafficToVPN(ctx context.Context,
defaultInterface string, connection models.OpenVPNConnection, remove bool) error {
if connection.IP == nil {
panic("PLEASE CREATE AN ISSUE with this log: https://github.com/qdm12/gluetun/issues")
}
return c.runIptablesInstruction(ctx,
fmt.Sprintf("%s OUTPUT -d %s -o %s -p %s -m %s --dport %d -j ACCEPT",
appendOrDelete(remove), connection.IP, defaultInterface, connection.Protocol, connection.Protocol, connection.Port))

78
internal/logging/line.go Normal file
View File

@@ -0,0 +1,78 @@
package logging
import (
"fmt"
"regexp"
"strings"
"github.com/fatih/color"
"github.com/qdm12/gluetun/internal/constants"
"github.com/qdm12/golibs/logging"
)
var regularExpressions = struct { //nolint:gochecknoglobals
unboundPrefix *regexp.Regexp
}{
unboundPrefix: regexp.MustCompile(`unbound: \[[0-9]{10}\] unbound\[[0-9]+:[0|1]\] `),
}
func PostProcessLine(s string) (filtered string, level logging.Level) {
switch {
case strings.HasPrefix(s, "openvpn: "):
for _, ignored := range []string{
"openvpn: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail",
"openvpn: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay",
} {
if s == ignored {
return "", ""
}
}
switch {
case strings.HasPrefix(s, "openvpn: NOTE: "):
filtered = strings.TrimPrefix(s, "openvpn: NOTE: ")
filtered = "openvpn: " + filtered
level = logging.InfoLevel
case strings.HasPrefix(s, "openvpn: WARNING: "):
filtered = strings.TrimPrefix(s, "openvpn: WARNING: ")
filtered = "openvpn: " + filtered
level = logging.WarnLevel
case strings.HasPrefix(s, "openvpn: Options error: "):
filtered = strings.TrimPrefix(s, "openvpn: Options error: ")
filtered = "openvpn: " + filtered
level = logging.ErrorLevel
case s == "openvpn: Initialization Sequence Completed":
return color.HiGreenString(s), logging.InfoLevel
case s == "openvpn: AUTH: Received control message: AUTH_FAILED":
filtered = s + "\n\n (IF YOU ARE USING PIA servers, MAYBE CHECK OUT https://github.com/qdm12/gluetun/issues/265)\n" //nolint:lll
level = logging.ErrorLevel
default:
filtered = s
level = logging.InfoLevel
}
filtered = constants.ColorOpenvpn().Sprintf(filtered)
return filtered, level
case strings.HasPrefix(s, "unbound: "):
prefix := regularExpressions.unboundPrefix.FindString(s)
filtered = s[len(prefix):]
switch {
case strings.HasPrefix(filtered, "notice: "):
filtered = strings.TrimPrefix(filtered, "notice: ")
level = logging.InfoLevel
case strings.HasPrefix(filtered, "info: "):
filtered = strings.TrimPrefix(filtered, "info: ")
level = logging.InfoLevel
case strings.HasPrefix(filtered, "warn: "):
filtered = strings.TrimPrefix(filtered, "warn: ")
level = logging.WarnLevel
case strings.HasPrefix(filtered, "error: "):
filtered = strings.TrimPrefix(filtered, "error: ")
level = logging.ErrorLevel
default:
level = logging.ErrorLevel
}
filtered = fmt.Sprintf("unbound: %s", filtered)
filtered = constants.ColorUnbound().Sprintf(filtered)
return filtered, level
}
return s, logging.InfoLevel
}

View File

@@ -0,0 +1,77 @@
package logging
import (
"testing"
"github.com/qdm12/golibs/logging"
"github.com/stretchr/testify/assert"
)
func Test_PostProcessLine(t *testing.T) {
t.Parallel()
tests := map[string]struct {
s string
filtered string
level logging.Level
}{
"empty string": {"", "", logging.InfoLevel},
"random string": {"asdasqdb", "asdasqdb", logging.InfoLevel},
"unbound notice": {
"unbound: [1594595249] unbound[75:0] notice: init module 0: validator",
"unbound: init module 0: validator",
logging.InfoLevel},
"unbound info": {
"unbound: [1594595249] unbound[75:0] info: init module 0: validator",
"unbound: init module 0: validator",
logging.InfoLevel},
"unbound warn": {
"unbound: [1594595249] unbound[75:0] warn: init module 0: validator",
"unbound: init module 0: validator",
logging.WarnLevel},
"unbound error": {
"unbound: [1594595249] unbound[75:0] error: init module 0: validator",
"unbound: init module 0: validator",
logging.ErrorLevel},
"unbound unknown": {
"unbound: [1594595249] unbound[75:0] BLA: init module 0: validator",
"unbound: BLA: init module 0: validator",
logging.ErrorLevel},
"openvpn unknown": {
"openvpn: message",
"openvpn: message",
logging.InfoLevel},
"openvpn note": {
"openvpn: NOTE: message",
"openvpn: message",
logging.InfoLevel},
"openvpn warning": {
"openvpn: WARNING: message",
"openvpn: message",
logging.WarnLevel},
"openvpn options error": {
"openvpn: Options error: message",
"openvpn: message",
logging.ErrorLevel},
"openvpn ignored message": {
"openvpn: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay",
"",
""},
"openvpn success": {
"openvpn: Initialization Sequence Completed",
"openvpn: Initialization Sequence Completed",
logging.InfoLevel},
"openvpn auth failed": {
"openvpn: AUTH: Received control message: AUTH_FAILED",
"openvpn: AUTH: Received control message: AUTH_FAILED\n\n (IF YOU ARE USING PIA servers, MAYBE CHECK OUT https://github.com/qdm12/gluetun/issues/265)\n", //nolint:lll
logging.ErrorLevel},
}
for name, tc := range tests {
tc := tc
t.Run(name, func(t *testing.T) {
t.Parallel()
filtered, level := PostProcessLine(tc.s)
assert.Equal(t, tc.filtered, filtered)
assert.Equal(t, tc.level, level)
})
}
}

View File

@@ -33,7 +33,7 @@ type ServerSelection struct {
ISPs []string `json:"isps"`
Owned bool `json:"owned"`
// Mullvad, Windscribe, PIA
// Mullvad, Windscribe
CustomPort uint16 `json:"custom_port"`
// NordVPN
@@ -92,7 +92,6 @@ func (p *ProviderSettings) String() string {
"Regions: "+commaJoin(p.ServerSelection.Regions),
"Encryption preset: "+p.ExtraConfigOptions.EncryptionPreset,
"Port forwarding: "+p.PortForwarding.String(),
"Custom port: "+customPort,
)
case "mullvad":
settingsList = append(settingsList,

View File

@@ -8,16 +8,24 @@ import (
)
type PIAServer struct {
Region string `json:"region"`
ServerName string `json:"server_name"`
Protocol NetworkProtocol `json:"protocol"`
PortForward bool `json:"port_forward"`
IP net.IP `json:"ip"`
Region string `json:"region"`
PortForward bool `json:"port_forward"`
OpenvpnUDP PIAServerOpenvpn `json:"openvpn_udp"`
OpenvpnTCP PIAServerOpenvpn `json:"openvpn_tcp"`
}
type PIAServerOpenvpn struct {
IPs []net.IP `json:"ips"`
CN string `json:"cn"`
}
func (p *PIAServerOpenvpn) String() string {
return fmt.Sprintf("models.PIAServerOpenvpn{CN: %q, IPs: %s}", p.CN, goStringifyIPs(p.IPs))
}
func (p *PIAServer) String() string {
return fmt.Sprintf("{Region: %q, ServerName: %q, Protocol: %q, PortForward: %t, IP: %s}",
p.Region, p.ServerName, p.Protocol, p.PortForward, goStringifyIP(p.IP))
return fmt.Sprintf("{Region: %q, PortForward: %t, OpenvpnUDP: %s, OpenvpnTCP: %s}",
p.Region, p.PortForward, p.OpenvpnUDP.String(), p.OpenvpnTCP.String())
}
type MullvadServer struct {

View File

@@ -3,15 +3,16 @@ package openvpn
import (
"context"
"fmt"
"io"
"strings"
"github.com/qdm12/gluetun/internal/constants"
)
func (c *configurator) Start(ctx context.Context) (
stdoutLines, stderrLines chan string, waitError chan error, err error) {
func (c *configurator) Start(ctx context.Context) (stdout io.ReadCloser, waitFn func() error, err error) {
c.logger.Info("starting openvpn")
return c.commander.Start(ctx, "openvpn", "--config", string(constants.OpenVPNConf))
stdout, _, waitFn, err = c.commander.Start(ctx, "openvpn", "--config", string(constants.OpenVPNConf))
return stdout, waitFn, err
}
func (c *configurator) Version(ctx context.Context) (string, error) {

View File

@@ -1,100 +0,0 @@
package openvpn
import (
"strings"
"sync"
"github.com/fatih/color"
"github.com/qdm12/gluetun/internal/constants"
"github.com/qdm12/golibs/logging"
)
func (l *looper) collectLines(wg *sync.WaitGroup, stdout, stderr <-chan string) {
defer wg.Done()
var line string
var ok, errLine bool
for {
errLine = false
select {
case line, ok = <-stdout:
case line, ok = <-stderr:
errLine = true
}
if !ok {
return
}
line, level := processLogLine(line)
if len(line) == 0 {
continue // filtered out
}
if errLine {
level = logging.ErrorLevel
}
switch level {
case logging.DebugLevel:
l.logger.Debug(line)
case logging.InfoLevel:
l.logger.Info(line)
case logging.WarnLevel:
l.logger.Warn(line)
case logging.ErrorLevel:
l.logger.Error(line)
}
if strings.Contains(line, "Initialization Sequence Completed") {
l.tunnelReady <- struct{}{}
}
}
}
func processLogLine(s string) (filtered string, level logging.Level) {
for _, ignored := range []string{
"WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail",
"NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay",
} {
if s == ignored {
return "", ""
}
}
switch {
case strings.HasPrefix(s, "NOTE: "):
filtered = strings.TrimPrefix(s, "NOTE: ")
level = logging.InfoLevel
case strings.HasPrefix(s, "WARNING: "):
filtered = strings.TrimPrefix(s, "WARNING: ")
level = logging.WarnLevel
case strings.HasPrefix(s, "Options error: "):
filtered = strings.TrimPrefix(s, "Options error: ")
level = logging.ErrorLevel
case s == "Initialization Sequence Completed":
return color.HiGreenString(s), logging.InfoLevel
case s == "AUTH: Received control message: AUTH_FAILED":
filtered = s + `
Your credentials might be wrong 🤨
💡 If you use Private Internet Access, check https://github.com/qdm12/gluetun/issues/265
`
level = logging.ErrorLevel
case strings.Contains(s, "TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)"): //nolint:lll
filtered = s + `
🚒🚒🚒🚒🚒🚨🚨🚨🚨🚨🚨🚒🚒🚒🚒🚒
That error usually happens because either:
1. The VPN server IP address you are trying to connect to is no longer valid 🔌
Update your server information using https://github.com/qdm12/gluetun/wiki/Updating-Servers
2. The VPN server crashed 💥, try changing your VPN servers filtering options such as REGION
3. Your Internet connection is not working 🤯, ensure it works
4. Something else ➡️ https://github.com/qdm12/gluetun/issues/new/choose
`
default:
filtered = s
level = logging.InfoLevel
}
filtered = constants.ColorOpenvpn().Sprintf(filtered)
return filtered, level
}

View File

@@ -1,57 +0,0 @@
package openvpn
import (
"testing"
"github.com/qdm12/golibs/logging"
"github.com/stretchr/testify/assert"
)
func Test_processLogLine(t *testing.T) {
t.Parallel()
tests := map[string]struct {
s string
filtered string
level logging.Level
}{
"empty string": {"", "", logging.InfoLevel},
"random string": {"asdasqdb", "asdasqdb", logging.InfoLevel},
"openvpn unknown": {
"message",
"message",
logging.InfoLevel},
"openvpn note": {
"NOTE: message",
"message",
logging.InfoLevel},
"openvpn warning": {
"WARNING: message",
"message",
logging.WarnLevel},
"openvpn options error": {
"Options error: message",
"message",
logging.ErrorLevel},
"openvpn ignored message": {
"NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay",
"",
""},
"openvpn success": {
"Initialization Sequence Completed",
"Initialization Sequence Completed",
logging.InfoLevel},
"openvpn auth failed": {
"AUTH: Received control message: AUTH_FAILED",
"AUTH: Received control message: AUTH_FAILED\n\nYour credentials might be wrong 🤨\n\n💡 If you use Private Internet Access, check https://github.com/qdm12/gluetun/issues/265\n\n", //nolint:lll
logging.ErrorLevel},
}
for name, tc := range tests {
tc := tc
t.Run(name, func(t *testing.T) {
t.Parallel()
filtered, level := processLogLine(tc.s)
assert.Equal(t, tc.filtered, filtered)
assert.Equal(t, tc.level, level)
})
}
}

View File

@@ -14,6 +14,7 @@ import (
"github.com/qdm12/gluetun/internal/provider"
"github.com/qdm12/gluetun/internal/routing"
"github.com/qdm12/gluetun/internal/settings"
"github.com/qdm12/golibs/command"
"github.com/qdm12/golibs/logging"
"github.com/qdm12/golibs/os"
)
@@ -44,7 +45,7 @@ type looper struct {
logger, pfLogger logging.Logger
client *http.Client
openFile os.OpenFileFunc
tunnelReady chan<- struct{}
streamMerger command.StreamMerger
cancel context.CancelFunc
// Internal channels and locks
loopLock sync.Mutex
@@ -62,7 +63,7 @@ func NewLooper(settings settings.OpenVPN,
username string, puid, pgid int, allServers models.AllServers,
conf Configurator, fw firewall.Configurator, routing routing.Routing,
logger logging.Logger, client *http.Client, openFile os.OpenFileFunc,
tunnelReady chan<- struct{}, cancel context.CancelFunc) Looper {
streamMerger command.StreamMerger, cancel context.CancelFunc) Looper {
return &looper{
state: state{
status: constants.Stopped,
@@ -79,7 +80,7 @@ func NewLooper(settings settings.OpenVPN,
pfLogger: logger.WithPrefix("port forwarding: "),
client: client,
openFile: openFile,
tunnelReady: tunnelReady,
streamMerger: streamMerger,
cancel: cancel,
start: make(chan struct{}),
running: make(chan models.LoopStatus),
@@ -118,9 +119,6 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
l.cancel()
return
}
if connection.IP == nil {
panic("PLEASE CREATE AN ISSUE with this log: https://github.com/qdm12/gluetun/issues")
}
lines := providerConf.BuildConf(connection, l.username, settings)
if err := writeOpenvpnConf(lines, l.openFile); err != nil {
@@ -146,7 +144,7 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
openvpnCtx, openvpnCancel := context.WithCancel(context.Background())
stdoutLines, stderrLines, waitError, err := l.conf.Start(openvpnCtx)
stream, waitFn, err := l.conf.Start(openvpnCtx)
if err != nil {
openvpnCancel()
l.signalCrashedStatus()
@@ -154,9 +152,6 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
continue
}
wg.Add(1)
go l.collectLines(wg, stdoutLines, stderrLines)
// Needs the stream line from main.go to know when the tunnel is up
go func(ctx context.Context) {
for {
@@ -171,6 +166,13 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
}
}(openvpnCtx)
go l.streamMerger.Merge(openvpnCtx, stream, command.MergeName("openvpn"))
waitError := make(chan error)
go func() {
err := waitFn() // blocking
waitError <- err
}()
if l.crashed {
l.crashed = false
l.backoffTime = defaultBackoffTime
@@ -187,8 +189,6 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
openvpnCancel()
<-waitError
close(waitError)
close(stdoutLines)
close(stderrLines)
return
case <-l.stop:
l.logger.Info("stopping")
@@ -207,16 +207,12 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
}
}
close(waitError)
close(stdoutLines)
close(stderrLines)
openvpnCancel() // just for the linter
}
}
func (l *looper) logAndWait(ctx context.Context, err error) {
if err != nil {
l.logger.Error(err)
}
l.logger.Error(err)
l.logger.Info("retrying in %s", l.backoffTime)
timer := time.NewTimer(l.backoffTime)
l.backoffTime *= 2

View File

@@ -2,6 +2,7 @@ package openvpn
import (
"context"
"io"
"github.com/qdm12/gluetun/internal/unix"
"github.com/qdm12/golibs/command"
@@ -14,8 +15,7 @@ type Configurator interface {
WriteAuthFile(user, password string, puid, pgid int) error
CheckTUN() error
CreateTUN() error
Start(ctx context.Context) (stdoutLines, stderrLines chan string,
waitError chan error, err error)
Start(ctx context.Context) (stdout io.ReadCloser, waitFn func() error, err error)
}
type configurator struct {

View File

@@ -62,7 +62,6 @@ type Reader interface {
GetPortForwardingStatusFilepath() (filepath models.Filepath, err error)
GetPIAEncryptionPreset() (preset string, err error)
GetPIARegions() (regions []string, err error)
GetPIAPort() (port uint16, err error)
// Mullvad getters
GetMullvadCountries() (countries []string, err error)

View File

@@ -63,10 +63,3 @@ func (r *reader) GetPIAEncryptionPreset() (preset string, err error) {
func (r *reader) GetPIARegions() (regions []string, err error) {
return r.env.CSVInside("REGION", constants.PIAGeoChoices())
}
// GetPIAPort obtains the port to reach the PIA server on from the
// environment variable PORT.
func (r *reader) GetPIAPort() (port uint16, err error) {
n, err := r.env.IntRange("PORT", 0, 65535, libparams.Default("0"))
return uint16(n), err
}

View File

@@ -73,8 +73,7 @@ func (n *nordvpn) GetOpenVPNConnection(selection models.ServerSelection) (
connections := make([]models.OpenVPNConnection, len(servers))
for i := range servers {
connection := models.OpenVPNConnection{IP: servers[i].IP, Port: port, Protocol: selection.Protocol}
connections = append(connections, connection)
connections[i] = models.OpenVPNConnection{IP: servers[i].IP, Port: port, Protocol: selection.Protocol}
}
return pickRandomConnection(connections, n.randSource), nil

View File

@@ -6,7 +6,6 @@ import (
"crypto/x509"
"encoding/base64"
"encoding/json"
"errors"
"fmt"
"io/ioutil"
"math/rand"
@@ -27,10 +26,11 @@ import (
)
type pia struct {
servers []models.PIAServer
timeNow timeNowFunc
randSource rand.Source
activeServer models.PIAServer
servers []models.PIAServer
timeNow timeNowFunc
randSource rand.Source
activeServer models.PIAServer
activeProtocol models.NetworkProtocol
}
func newPrivateInternetAccess(servers []models.PIAServer, timeNow timeNowFunc) *pia {
@@ -41,91 +41,72 @@ func newPrivateInternetAccess(servers []models.PIAServer, timeNow timeNowFunc) *
}
}
var (
ErrInvalidPort = errors.New("invalid port number")
)
func (p *pia) getPort(selection models.ServerSelection) (port uint16, err error) {
if selection.CustomPort == 0 {
switch selection.Protocol {
case constants.TCP:
switch selection.EncryptionPreset {
case constants.PIAEncryptionPresetNormal:
port = 502
case constants.PIAEncryptionPresetStrong:
port = 501
}
case constants.UDP:
switch selection.EncryptionPreset {
case constants.PIAEncryptionPresetNormal:
port = 1198
case constants.PIAEncryptionPresetStrong:
port = 1197
}
}
if port == 0 {
return 0, fmt.Errorf(
"%w: combination of protocol %q and encryption %q does not yield any port number",
ErrInvalidPort, selection.Protocol, selection.EncryptionPreset)
}
return port, nil
}
port = selection.CustomPort
switch selection.Protocol {
case constants.TCP:
switch port {
case 80, 110, 443: //nolint:gomnd
default:
return 0, fmt.Errorf("%w: %d for protocol %s",
ErrInvalidPort, port, selection.Protocol)
}
case constants.UDP:
switch port {
case 53, 1194, 1197, 1198, 8080, 9201: //nolint:gomnd
default:
return 0, fmt.Errorf("%w: %d for protocol %s",
ErrInvalidPort, port, selection.Protocol)
}
}
return port, nil
}
func (p *pia) GetOpenVPNConnection(selection models.ServerSelection) (
connection models.OpenVPNConnection, err error) {
port, err := p.getPort(selection)
if err != nil {
return connection, err
var port uint16
switch selection.Protocol {
case constants.TCP:
switch selection.EncryptionPreset {
case constants.PIAEncryptionPresetNormal:
port = 502
case constants.PIAEncryptionPresetStrong:
port = 501
}
case constants.UDP:
switch selection.EncryptionPreset {
case constants.PIAEncryptionPresetNormal:
port = 1198
case constants.PIAEncryptionPresetStrong:
port = 1197
}
}
if port == 0 {
return connection, fmt.Errorf(
"combination of protocol %q and encryption %q does not yield any port number",
selection.Protocol, selection.EncryptionPreset)
}
servers := p.servers
if selection.TargetIP != nil {
connection = models.OpenVPNConnection{IP: selection.TargetIP, Port: port, Protocol: selection.Protocol}
} else {
servers := filterPIAServers(servers, selection.Regions, selection.Protocol)
if len(servers) == 0 {
return connection, fmt.Errorf("no server found for region %s and protocol %s",
commaJoin(selection.Regions), selection.Protocol)
}
var connections []models.OpenVPNConnection
for _, server := range servers {
connection := models.OpenVPNConnection{IP: server.IP, Port: port, Protocol: selection.Protocol}
connections = append(connections, connection)
}
connection = pickRandomConnection(connections, p.randSource)
return models.OpenVPNConnection{IP: selection.TargetIP, Port: port, Protocol: selection.Protocol}, nil
}
servers := filterPIAServers(p.servers, selection.Regions)
if len(servers) == 0 {
return connection, fmt.Errorf("no server found for region %s", commaJoin(selection.Regions))
}
var connections []models.OpenVPNConnection
for _, server := range servers {
IPs := server.OpenvpnUDP.IPs
if selection.Protocol == constants.TCP {
IPs = server.OpenvpnTCP.IPs
}
for _, IP := range IPs {
connections = append(connections, models.OpenVPNConnection{IP: IP, Port: port, Protocol: selection.Protocol})
}
}
connection = pickRandomConnection(connections, p.randSource)
// Reverse lookup server from picked connection
found := false
for _, server := range servers {
if connection.IP.Equal(server.IP) {
p.activeServer = server
IPs := server.OpenvpnUDP.IPs
if selection.Protocol == constants.TCP {
IPs = server.OpenvpnTCP.IPs
}
for _, IP := range IPs {
if connection.IP.Equal(IP) {
p.activeServer = server
found = true
break
}
}
if found {
break
}
}
p.activeProtocol = selection.Protocol
return connection, nil
}
@@ -212,17 +193,18 @@ func (p *pia) BuildConf(connection models.OpenVPNConnection,
func (p *pia) PortForward(ctx context.Context, client *http.Client,
openFile os.OpenFileFunc, pfLogger logging.Logger, gateway net.IP, fw firewall.Configurator,
syncState func(port uint16) (pfFilepath models.Filepath)) {
commonName := p.activeServer.ServerName
if !p.activeServer.PortForward {
pfLogger.Error("The server %s (region %s) does not support port forwarding",
commonName, p.activeServer.Region)
pfLogger.Error("The server %s does not support port forwarding", p.activeServer.Region)
return
}
if gateway == nil {
pfLogger.Error("aborting because: VPN gateway IP address was not found")
return
}
commonName := p.activeServer.OpenvpnUDP.CN
if p.activeProtocol == constants.TCP {
commonName = p.activeServer.OpenvpnTCP.CN
}
client, err := newPIAHTTPClient(commonName)
if err != nil {
pfLogger.Error("aborting because: %s", err)
@@ -336,12 +318,10 @@ func (p *pia) PortForward(ctx context.Context, client *http.Client,
}
}
func filterPIAServers(servers []models.PIAServer, regions []string, protocol models.NetworkProtocol) (
filtered []models.PIAServer) {
func filterPIAServers(servers []models.PIAServer, regions []string) (filtered []models.PIAServer) {
for _, server := range servers {
switch {
case filterByPossibilities(server.Region, regions):
case server.Protocol != protocol:
default:
filtered = append(filtered, server)
}

View File

@@ -96,6 +96,7 @@ func (p *purevpn) BuildConf(connection models.OpenVPNConnection,
"cipher AES-256-CBC",
"route-method exe",
"route-delay 0",
"route 0.0.0.0 0.0.0.0",
"script-security 2",
// Added constant values

View File

@@ -67,8 +67,8 @@ func (w *windscribe) GetOpenVPNConnection(selection models.ServerSelection) (con
}
connections := make([]models.OpenVPNConnection, len(servers))
for _, server := range servers {
connections = append(connections, models.OpenVPNConnection{IP: server.IP, Port: port, Protocol: selection.Protocol})
for i := range servers {
connections[i] = models.OpenVPNConnection{IP: servers[i].IP, Port: port, Protocol: selection.Protocol}
}
return pickRandomConnection(connections, w.randSource), nil

View File

@@ -74,9 +74,7 @@ func NewLooper(client *http.Client, logger logging.Logger,
}
func (l *looper) logAndWait(ctx context.Context, err error) {
if err != nil {
l.logger.Error(err)
}
l.logger.Error(err)
l.logger.Info("retrying in %s", l.backoffTime)
timer := time.NewTimer(l.backoffTime)
l.backoffTime *= 2
@@ -140,6 +138,7 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
}
return
case <-l.start:
l.logger.Info("starting")
getCancel()
stayHere = false
case <-l.stop:

View File

@@ -39,11 +39,12 @@ func New(address string, logging bool, logger logging.Logger,
}
func (s *server) Run(ctx context.Context, wg *sync.WaitGroup) {
defer wg.Done()
server := http.Server{Addr: s.address, Handler: s.handler}
go func() {
defer wg.Done()
<-ctx.Done()
s.logger.Warn("context canceled: shutting down")
s.logger.Warn("context canceled: exiting loop")
defer s.logger.Warn("loop exited")
const shutdownGraceDuration = 2 * time.Second
shutdownCtx, cancel := context.WithTimeout(context.Background(), shutdownGraceDuration)
defer cancel()
@@ -56,5 +57,4 @@ func (s *server) Run(ctx context.Context, wg *sync.WaitGroup) {
if err != nil && ctx.Err() != context.Canceled {
s.logger.Error(err)
}
s.logger.Warn("shut down")
}

View File

@@ -29,10 +29,6 @@ func GetPIASettings(paramsReader params.Reader) (settings models.ProviderSetting
if err != nil {
return settings, err
}
settings.ServerSelection.CustomPort, err = paramsReader.GetPIAPort()
if err != nil {
return settings, err
}
settings.PortForwarding.Enabled, err = paramsReader.GetPortForwarding()
if err != nil {
return settings, err

View File

@@ -34,9 +34,7 @@ type looper struct {
}
func (l *looper) logAndWait(ctx context.Context, err error) {
if err != nil {
l.logger.Error(err)
}
l.logger.Error(err)
l.logger.Info("retrying in %s", l.backoffTime)
timer := time.NewTimer(l.backoffTime)
l.backoffTime *= 2

View File

@@ -69,9 +69,7 @@ func NewLooper(settings settings.Updater, currentServers models.AllServers,
}
func (l *looper) logAndWait(ctx context.Context, err error) {
if err != nil {
l.logger.Error(err)
}
l.logger.Error(err)
l.logger.Info("retrying in %s", l.backoffTime)
timer := time.NewTimer(l.backoffTime)
l.backoffTime *= 2

View File

@@ -10,7 +10,6 @@ import (
"sort"
"strings"
"github.com/qdm12/gluetun/internal/constants"
"github.com/qdm12/gluetun/internal/models"
)
@@ -47,40 +46,37 @@ func (u *updater) updatePIA(ctx context.Context) (err error) {
if err := json.Unmarshal(b, &data); err != nil {
return err
}
servers := make([]models.PIAServer, 0, len(data.Regions))
for _, region := range data.Regions {
server := models.PIAServer{
Region: region.Name,
PortForward: region.PortForward,
}
for _, udpServer := range region.Servers.UDP {
server := models.PIAServer{
Region: region.Name,
ServerName: udpServer.CN,
Protocol: constants.UDP,
PortForward: region.PortForward,
IP: udpServer.IP,
if len(server.OpenvpnUDP.CN) > 0 && server.OpenvpnUDP.CN != udpServer.CN {
return fmt.Errorf("CN is different for UDP for region %q: %q and %q",
region.Name, server.OpenvpnUDP.CN, udpServer.CN)
}
servers = append(servers, server)
if udpServer.IP != nil {
server.OpenvpnUDP.IPs = append(server.OpenvpnUDP.IPs, udpServer.IP)
}
server.OpenvpnUDP.CN = udpServer.CN
}
for _, tcpServer := range region.Servers.TCP {
server := models.PIAServer{
Region: region.Name,
ServerName: tcpServer.CN,
Protocol: constants.UDP,
PortForward: region.PortForward,
IP: tcpServer.IP,
if len(server.OpenvpnTCP.CN) > 0 && server.OpenvpnTCP.CN != tcpServer.CN {
return fmt.Errorf("CN is different for TCP for region %q: %q and %q",
region.Name, server.OpenvpnTCP.CN, tcpServer.CN)
}
servers = append(servers, server)
if tcpServer.IP != nil {
server.OpenvpnTCP.IPs = append(server.OpenvpnTCP.IPs, tcpServer.IP)
}
server.OpenvpnTCP.CN = tcpServer.CN
}
servers = append(servers, server)
}
sort.Slice(servers, func(i, j int) bool {
if servers[i].Region == servers[j].Region {
if servers[i].ServerName == servers[j].ServerName {
return servers[i].Protocol < servers[j].Protocol
}
return servers[i].ServerName < servers[j].ServerName
}
return servers[i].Region < servers[j].Region
})
if u.options.Stdout {
u.println(stringifyPIAServers(servers))
}

View File

@@ -33,7 +33,7 @@ func (u *updater) updateSurfshark(ctx context.Context) (err error) {
//nolint:deadcode,unused
func findSurfsharkServersFromAPI(ctx context.Context, client network.Client, lookupIP lookupIPFunc) (
servers []models.SurfsharkServer, warnings []string, err error) {
const url = "https://my.surfshark.com/vpn/api/v4/server/clusters"
const url = "https://my.surfshark.com/vpn/api/v1/server/clusters"
b, status, err := client.Get(ctx, url)
if err != nil {
return nil, nil, err
@@ -88,9 +88,7 @@ func findSurfsharkServersFromZip(ctx context.Context, client network.Client, loo
warnings = append(warnings, warning)
}
if err != nil {
// treat error as warning and go to next file
warnings = append(warnings, err.Error()+" in "+fileName)
continue
return nil, warnings, fmt.Errorf("%w in %s", err, fileName)
}
const repetition = 5
IPs, err := resolveRepeat(ctx, lookupIP, host, repetition)
@@ -201,8 +199,6 @@ func surfsharkSubdomainToRegion() (mapping map[string]string) {
"de-fra-st001": "Germany Frankfurt am Main st001",
"de-fra-st002": "Germany Frankfurt am Main st002",
"de-fra-st003": "Germany Frankfurt am Main st003",
"de-fra-st004": "Germany Frankfurt am Main st004",
"de-fra-st005": "Germany Frankfurt am Main st005",
"de-muc": "Germany Munich",
"de-nue": "Germany Nuremberg",
"de-sg": "Germany Singapour",
@@ -239,12 +235,6 @@ func surfsharkSubdomainToRegion() (mapping map[string]string) {
"jp-tok-st005": "Japan Tokyo st005",
"jp-tok-st006": "Japan Tokyo st006",
"jp-tok-st007": "Japan Tokyo st007",
"jp-tok-st008": "Japan Tokyo st008",
"jp-tok-st009": "Japan Tokyo st009",
"jp-tok-st010": "Japan Tokyo st010",
"jp-tok-st011": "Japan Tokyo st011",
"jp-tok-st012": "Japan Tokyo st012",
"jp-tok-st013": "Japan Tokyo st013",
"kr-seo": "Korea",
"kz-ura": "Kazakhstan",
"lu-ste": "Luxembourg",