diff --git a/internal/constants/lookup_test.go b/internal/constants/lookup_test.go index 09a19b27..7fd0a4b0 100644 --- a/internal/constants/lookup_test.go +++ b/internal/constants/lookup_test.go @@ -1,164 +1,206 @@ package constants import ( + "bytes" "fmt" "net" + "sort" "strings" "testing" + + "github.com/stretchr/testify/require" ) -func Test_LookupPIAServers(t *testing.T) { +func Test_LookupPIAServers(t *testing.T) { //nolint:gocognit t.SkipNow() - subdomains := []string{ - "au-melbourne", - "au-perth", - "au-sydney", - "austria", - "belgium", - "ca-montreal", - "ca-toronto", - "ca-vancouver", - "czech", - "de-berlin", - "de-frankfurt", - "denmark", - "fi", - "france", - "hk", - "hungary", - "in", - "ireland", - "israel", - "italy", - "japan", - "lu", - "mexico", - "nl", - "nz", - "no", - "poland", - "ro", - "sg", - "spain", - "sweden", - "swiss", - "ae", - "uk-london", - "uk-manchester", - "uk-southampton", - "us-atlanta", - "us-california", - "us-chicago", - "us-denver", - "us-east", - "us-florida", - "us-houston", - "us-lasvegas", - "us-newyorkcity", - "us-seattle", - "us-siliconvalley", - "us-texas", - "us-washingtondc", - "us-west", + servers := []struct { + subdomain string + region string + }{ + {subdomain: "au-melbourne", region: "AU Melbourne"}, + {subdomain: "au-perth", region: "AU Perth"}, + {subdomain: "au-sydney", region: "AU Sydney"}, + {subdomain: "austria", region: "Austria"}, + {subdomain: "belgium", region: "Belgium"}, + {subdomain: "ca-montreal", region: "CA Montreal"}, + {subdomain: "ca-toronto", region: "CA Toronto"}, + {subdomain: "ca-vancouver", region: "CA Vancouver"}, + {subdomain: "czech", region: "Czech Republic"}, + {subdomain: "de-berlin", region: "DE Berlin"}, + {subdomain: "de-frankfurt", region: "DE Frankfurt"}, + {subdomain: "denmark", region: "Denmark"}, + {subdomain: "fi", region: "Finlan"}, + {subdomain: "france", region: "France"}, + {subdomain: "hk", region: "Hong Kong"}, + {subdomain: "hungary", region: "Hungary"}, + {subdomain: "in", region: "India"}, + {subdomain: "ireland", region: "Ireland"}, + {subdomain: "israel", region: "Israel"}, + {subdomain: "italy", region: "Italy"}, + {subdomain: "japan", region: "Japan"}, + {subdomain: "lu", region: "Luxembourg"}, + {subdomain: "mexico", region: "Mexico"}, + {subdomain: "nl", region: "Netherlands"}, + {subdomain: "nz", region: "New Zealand"}, + {subdomain: "no", region: "Norway"}, + {subdomain: "poland", region: "Poland"}, + {subdomain: "ro", region: "Romania"}, + {subdomain: "sg", region: "Singapore"}, + {subdomain: "spain", region: "Spain"}, + {subdomain: "sweden", region: "Sweden"}, + {subdomain: "swiss", region: "Switzerland"}, + {subdomain: "ae", region: "UAE"}, + {subdomain: "uk-london", region: "UK London"}, + {subdomain: "uk-manchester", region: "UK Manchester"}, + {subdomain: "uk-southampton", region: "UK Southampton"}, + {subdomain: "us-atlanta", region: "US Atlanta"}, + {subdomain: "us-california", region: "US California"}, + {subdomain: "us-chicago", region: "US Chicago"}, + {subdomain: "us-denver", region: "US Denver"}, + {subdomain: "us-east", region: "US East"}, + {subdomain: "us-florida", region: "US Florida"}, + {subdomain: "us-houston", region: "US Houston"}, + {subdomain: "us-lasvegas", region: "US Las Vegas"}, + {subdomain: "us-newyorkcity", region: "US New York City"}, + {subdomain: "us-seattle", region: "US Seattle"}, + {subdomain: "us-siliconvalley", region: "US Silicon Valley"}, + {subdomain: "us-texas", region: "US Texas"}, + {subdomain: "us-washingtondc", region: "US Washington DC"}, + {subdomain: "us-west", region: "US West"}, } - for _, subdomain := range subdomains { - ips, err := net.LookupIP(subdomain + ".privateinternetaccess.com") - if err != nil { - t.Log(err) - continue - } - s := make([]string, len(ips)) - for i := range ips { - s[i] = fmt.Sprintf("{%s}", strings.ReplaceAll(ips[i].String(), ".", ", ")) - } - t.Logf("%s: %s", subdomain, strings.Join(s, ", ")) + for _, server := range servers { + s, err := getIPsStringFromSubdomain(server.subdomain + ".privateinternetaccess.com") + require.NoError(t, err) + t.Logf("{Region: models.PIARegion(%q), IPs: []net.IP{%s}},", server.region, s) } } func Test_LookupWindscribeServers(t *testing.T) { t.SkipNow() - subdomains := []string{ - "al", - "ar", - "ar", - "au", - "at", - "az", - "be", - "ba", - "br", - "bg", - "ca", - "ca-west", - "co", - "hr", - "cy", - "cz", - "dk", - "ee", - "aq", - "fi", - "fr", - "ge", - "de", - "gr", - "hk", - "hu", - "is", - "in", - "id", - "ie", - "il", - "it", - "jp", - "lv", - "lt", - "mk", - "my", - "mx", - "md", - "nl", - "nz", - "no", - "ph", - "pl", - "pt", - "ro", - "ru", - "rs", - "sg", - "sk", - "si", - "za", - "kr", - "es", - "se", - "ch", - "th", - "tn", - "tr", - "ua", - "ae", - "uk", - "us-central", - "us-east", - "us-west", - "vn", - "wf-ca", - "wf-jp", - "wf-uk", - "wf-us", + servers := []struct { + subdomain string + region string + }{ + {subdomain: "al", region: "albania"}, + {subdomain: "ar", region: "argentina"}, + {subdomain: "au", region: "australia"}, + {subdomain: "at", region: "austria"}, + {subdomain: "az", region: "azerbaijan"}, + {subdomain: "be", region: "belgium"}, + {subdomain: "ba", region: "bosnia"}, + {subdomain: "br", region: "brazil"}, + {subdomain: "bg", region: "bulgaria"}, + {subdomain: "ca", region: "canada east"}, + {subdomain: "ca-west", region: "canada west"}, + {subdomain: "co", region: "colombia"}, + {subdomain: "hr", region: "croatia"}, + {subdomain: "cy", region: "cyprus"}, + {subdomain: "cz", region: "czech republic"}, + {subdomain: "dk", region: "denmark"}, + {subdomain: "ee", region: "estonia"}, + {subdomain: "aq", region: "fake antarctica"}, + {subdomain: "fi", region: "finland"}, + {subdomain: "fr", region: "france"}, + {subdomain: "ge", region: "georgia"}, + {subdomain: "de", region: "germany"}, + {subdomain: "gr", region: "greece"}, + {subdomain: "hk", region: "hong kong"}, + {subdomain: "hu", region: "hungary"}, + {subdomain: "is", region: "iceland"}, + {subdomain: "in", region: "india"}, + {subdomain: "id", region: "indonesia"}, + {subdomain: "ie", region: "ireland"}, + {subdomain: "il", region: "israel"}, + {subdomain: "it", region: "italy"}, + {subdomain: "jp", region: "japan"}, + {subdomain: "lv", region: "latvia"}, + {subdomain: "lt", region: "lithuania"}, + {subdomain: "mk", region: "macedonia"}, + {subdomain: "my", region: "malaysia"}, + {subdomain: "mx", region: "mexico"}, + {subdomain: "md", region: "moldova"}, + {subdomain: "nl", region: "netherlands"}, + {subdomain: "nz", region: "new zealand"}, + {subdomain: "no", region: "norway"}, + {subdomain: "ph", region: "philippines"}, + {subdomain: "pl", region: "poland"}, + {subdomain: "pt", region: "portugal"}, + {subdomain: "ro", region: "romania"}, + {subdomain: "ru", region: "russia"}, + {subdomain: "rs", region: "serbia"}, + {subdomain: "sg", region: "singapore"}, + {subdomain: "sk", region: "slovakia"}, + {subdomain: "si", region: "slovenia"}, + {subdomain: "za", region: "south africa"}, + {subdomain: "kr", region: "south korea"}, + {subdomain: "es", region: "spain"}, + {subdomain: "se", region: "sweden"}, + {subdomain: "ch", region: "switzerland"}, + {subdomain: "th", region: "thailand"}, + {subdomain: "tn", region: "tunisia"}, + {subdomain: "tr", region: "turkey"}, + {subdomain: "ua", region: "ukraine"}, + {subdomain: "ae", region: "united arab emirates"}, + {subdomain: "uk", region: "united kingdom"}, + {subdomain: "us-central", region: "us central"}, + {subdomain: "us-east", region: "us east"}, + {subdomain: "us-west", region: "us west"}, + {subdomain: "vn", region: "vietnam"}, + {subdomain: "wf-ca", region: "windflix ca"}, + {subdomain: "wf-jp", region: "windflix jp"}, + {subdomain: "wf-uk", region: "windflix uk"}, + {subdomain: "wf-us", region: "windflix us"}, } - for _, subdomain := range subdomains { - ips, err := net.LookupIP(subdomain + ".windscribe.com") - if err != nil { - t.Log(err) - continue - } - s := make([]string, len(ips)) - for i := range ips { - s[i] = fmt.Sprintf("{%s}", strings.ReplaceAll(ips[i].String(), ".", ", ")) - } - t.Logf("%s: %s", subdomain, strings.Join(s, ", ")) + for _, server := range servers { + s, err := getIPsStringFromSubdomain(server.subdomain + ".windscribe.com") + require.NoError(t, err) + t.Logf("{Region: models.WindscribeRegion(%q), IPs: []net.IP{%s}},", server.region, s) } } + +func getIPsStringFromSubdomain(subdomain string) (s string, err error) { //nolint:unused + const tries = 3 + ipsChannel := make(chan []net.IP) + errorsChannel := make(chan error) + for i := 0; i < tries; i++ { + go func() { + ips, err := net.LookupIP(subdomain) + if err != nil { + errorsChannel <- err + } else { + ipsChannel <- ips + } + }() + } + var ips []net.IP + for i := 0; i < tries; i++ { + select { + case err = <-errorsChannel: + case newIPs := <-ipsChannel: + ips = append(ips, newIPs...) + } + } + close(errorsChannel) + close(ipsChannel) + if err != nil { + return "", err + } + uniqueIPs := make(map[string]struct{}) + for _, ip := range ips { + uniqueIPs[ip.String()] = struct{}{} + } + ips = make([]net.IP, len(uniqueIPs)) + i := 0 + for ip := range uniqueIPs { + ips[i] = net.ParseIP(ip) + i++ + } + sort.Slice(ips, func(i, j int) bool { + return bytes.Compare(ips[i], ips[j]) < 0 + }) + ipStrings := make([]string, len(ips)) + for i := range ips { + ipStrings[i] = fmt.Sprintf("{%s}", strings.ReplaceAll(ips[i].String(), ".", ", ")) + } + return strings.Join(ipStrings, ", "), nil +} diff --git a/internal/constants/pia.go b/internal/constants/pia.go index 65ca8b19..e27331ae 100644 --- a/internal/constants/pia.go +++ b/internal/constants/pia.go @@ -29,206 +29,56 @@ func PIAGeoChoices() (regions []string) { func PIAServers() []models.PIAServer { return []models.PIAServer{ - { - Region: models.PIARegion("AU Melbourne"), - IPs: []net.IP{{43, 250, 204, 83}, {43, 250, 204, 85}, {43, 250, 204, 89}, {43, 250, 204, 105}, {43, 250, 204, 107}, {43, 250, 204, 111}, {43, 250, 204, 117}, {43, 250, 204, 119}, {43, 250, 204, 123}, {43, 250, 204, 125}, {43, 250, 204, 125}, {43, 250, 204, 85}, {43, 250, 204, 89}, {43, 250, 204, 105}, {43, 250, 204, 107}, {43, 250, 204, 111}, {43, 250, 204, 117}, {43, 250, 204, 119}, {43, 250, 204, 123}, {43, 250, 204, 83}}, - }, - { - Region: models.PIARegion("AU Perth"), - IPs: []net.IP{{103, 231, 89, 2}, {103, 231, 89, 3}, {103, 231, 89, 11}, {103, 231, 89, 12}, {103, 231, 89, 13}, {103, 231, 89, 11}, {103, 231, 89, 13}, {103, 231, 89, 3}, {103, 231, 89, 12}, {103, 231, 89, 2}}, - }, - { - Region: models.PIARegion("AU Sydney"), - IPs: []net.IP{{217, 138, 205, 99}, {217, 138, 205, 108}, {217, 138, 205, 109}, {217, 138, 205, 114}, {217, 138, 205, 118}, {217, 138, 205, 120}, {217, 138, 205, 195}, {217, 138, 205, 213}, {217, 138, 205, 206}, {217, 138, 205, 202}, {217, 138, 205, 99}, {217, 138, 205, 108}, {217, 138, 205, 109}, {217, 138, 205, 114}, {217, 138, 205, 118}, {217, 138, 205, 206}, {217, 138, 205, 195}, {217, 138, 205, 213}, {217, 138, 205, 120}, {217, 138, 205, 202}}, - }, - { - Region: models.PIARegion("Austria"), - IPs: []net.IP{{185, 216, 34, 226}, {185, 216, 34, 227}, {185, 216, 34, 228}, {185, 216, 34, 229}, {185, 216, 34, 230}, {185, 216, 34, 231}, {185, 216, 34, 232}, {185, 216, 34, 236}, {185, 216, 34, 237}, {185, 216, 34, 238}}, - }, - { - Region: models.PIARegion("Belgium"), - IPs: []net.IP{{77, 243, 191, 19}, {77, 243, 191, 20}, {77, 243, 191, 21}, {77, 243, 191, 22}, {77, 243, 191, 26}, {77, 243, 191, 27}, {185, 104, 186, 26}, {185, 232, 21, 26}, {185, 232, 21, 28}, {185, 232, 21, 29}}, - }, - { - Region: models.PIARegion("CA Montreal"), - IPs: []net.IP{{199, 229, 249, 132}, {199, 229, 249, 141}, {199, 229, 249, 143}, {199, 229, 249, 144}, {199, 229, 249, 152}, {199, 229, 249, 158}, {199, 229, 249, 166}, {199, 229, 249, 189}, {199, 229, 249, 190}, {199, 229, 249, 196}}, - }, - { - Region: models.PIARegion("CA Toronto"), - IPs: []net.IP{{162, 219, 176, 130}, {172, 98, 67, 61}, {172, 98, 67, 74}, {172, 98, 67, 89}, {172, 98, 67, 108}, {184, 75, 208, 114}, {184, 75, 210, 18}, {184, 75, 210, 98}, {184, 75, 210, 106}, {184, 75, 215, 66}, {162, 219, 176, 130}, {184, 75, 215, 66}, {172, 98, 67, 74}, {172, 98, 67, 89}, {184, 75, 210, 98}, {184, 75, 208, 114}, {184, 75, 210, 18}, {172, 98, 67, 61}, {184, 75, 210, 106}, {172, 98, 67, 108}}, - }, - { - Region: models.PIARegion("CA Vancouver"), - IPs: []net.IP{{107, 181, 189, 82}, {172, 83, 40, 113}, {172, 83, 40, 114}, {107, 181, 189, 82}, {172, 83, 40, 114}, {172, 83, 40, 113}}, - }, - { - Region: models.PIARegion("Czech Republic"), - IPs: []net.IP{{89, 238, 186, 226}, {89, 238, 186, 227}, {89, 238, 186, 228}, {89, 238, 186, 230}, {185, 216, 35, 66}, {185, 216, 35, 67}, {185, 242, 6, 30}, {185, 216, 35, 70}, {185, 242, 6, 29}, {185, 216, 35, 68}}, - }, - { - Region: models.PIARegion("DE Berlin"), - IPs: []net.IP{{185, 230, 127, 228}, {185, 230, 127, 229}, {185, 230, 127, 234}, {185, 230, 127, 235}, {193, 176, 86, 123}, {193, 176, 86, 125}, {193, 176, 86, 130}, {193, 176, 86, 142}, {193, 176, 86, 150}, {193, 176, 86, 182}}, - }, - { - Region: models.PIARegion("DE Frankfurt"), - IPs: []net.IP{{185, 220, 70, 131}, {185, 220, 70, 134}, {185, 220, 70, 142}, {185, 220, 70, 144}, {185, 220, 70, 149}, {185, 220, 70, 151}, {185, 220, 70, 152}, {185, 220, 70, 155}, {185, 220, 70, 162}, {185, 220, 70, 167}}, - }, - { - Region: models.PIARegion("Denmark"), - IPs: []net.IP{{82, 102, 20, 164}, {82, 102, 20, 167}, {82, 102, 20, 168}, {82, 102, 20, 173}, {82, 102, 20, 175}, {82, 102, 20, 176}, {82, 102, 20, 177}, {82, 102, 20, 178}, {82, 102, 20, 181}, {82, 102, 20, 182}}, - }, - { - Region: models.PIARegion("Finland"), - IPs: []net.IP{{196, 244, 191, 2}, {196, 244, 191, 10}, {196, 244, 191, 26}, {196, 244, 191, 50}, {196, 244, 191, 66}, {196, 244, 191, 98}, {196, 244, 191, 106}, {196, 244, 191, 114}, {196, 244, 191, 122}, {196, 244, 191, 146}}, - }, - { - Region: models.PIARegion("France"), - IPs: []net.IP{{194, 99, 106, 150}, {194, 187, 249, 34}, {194, 187, 249, 38}, {194, 187, 249, 44}, {194, 187, 249, 54}, {194, 187, 249, 55}, {194, 187, 249, 180}, {194, 187, 249, 183}, {194, 187, 249, 190}, {194, 187, 249, 184}}, - }, - { - Region: models.PIARegion("Hong Kong"), - IPs: []net.IP{{84, 17, 37, 1}, {84, 17, 37, 23}, {84, 17, 37, 45}, {119, 81, 135, 2}, {119, 81, 135, 29}, {119, 81, 135, 47}, {119, 81, 253, 229}, {119, 81, 253, 230}, {119, 81, 253, 241}, {119, 81, 253, 242}}, - }, - { - Region: models.PIARegion("Hungary"), - IPs: []net.IP{{185, 128, 26, 18}, {185, 128, 26, 19}, {185, 128, 26, 20}, {185, 128, 26, 21}, {185, 128, 26, 22}, {185, 128, 26, 23}, {185, 128, 26, 24}, {185, 189, 114, 98}}, - }, - { - Region: models.PIARegion("India"), - IPs: []net.IP{{150, 242, 12, 155}, {150, 242, 12, 171}, {150, 242, 12, 187}, {150, 242, 12, 155}, {150, 242, 12, 171}, {150, 242, 12, 187}}, - }, - { - Region: models.PIARegion("Ireland"), - IPs: []net.IP{{23, 92, 127, 2}, {23, 92, 127, 18}, {23, 92, 127, 34}, {23, 92, 127, 42}, {23, 92, 127, 58}, {23, 92, 127, 66}, {23, 92, 127, 2}, {23, 92, 127, 18}, {23, 92, 127, 34}, {23, 92, 127, 66}, {23, 92, 127, 58}, {23, 92, 127, 42}}, - }, - { - Region: models.PIARegion("Israel"), - IPs: []net.IP{{31, 168, 172, 136}, {31, 168, 172, 142}, {31, 168, 172, 143}, {31, 168, 172, 145}, {31, 168, 172, 146}, {31, 168, 172, 147}}, - }, - { - Region: models.PIARegion("Italy"), - IPs: []net.IP{{82, 102, 21, 98}, {82, 102, 21, 210}, {82, 102, 21, 211}, {82, 102, 21, 212}, {82, 102, 21, 213}, {82, 102, 21, 214}, {82, 102, 21, 215}, {82, 102, 21, 216}, {82, 102, 21, 217}, {82, 102, 21, 218}, {82, 102, 21, 98}, {82, 102, 21, 210}, {82, 102, 21, 211}, {82, 102, 21, 212}, {82, 102, 21, 213}, {82, 102, 21, 214}, {82, 102, 21, 215}, {82, 102, 21, 216}, {82, 102, 21, 217}, {82, 102, 21, 218}}, - }, - { - Region: models.PIARegion("Japan"), - IPs: []net.IP{{103, 208, 220, 130}, {103, 208, 220, 143}, {103, 208, 220, 133}, {103, 208, 220, 134}, {103, 208, 220, 136}, {103, 208, 220, 137}, {103, 208, 220, 138}, {103, 208, 220, 140}, {103, 208, 220, 141}, {103, 208, 220, 131}, {103, 208, 220, 130}, {103, 208, 220, 143}, {103, 208, 220, 133}, {103, 208, 220, 134}, {103, 208, 220, 131}, {103, 208, 220, 137}, {103, 208, 220, 136}, {103, 208, 220, 138}, {103, 208, 220, 141}, {103, 208, 220, 140}}, - }, - { - Region: models.PIARegion("Luxembourg"), - IPs: []net.IP{{92, 223, 89, 133}, {92, 223, 89, 134}, {92, 223, 89, 135}, {92, 223, 89, 136}, {92, 223, 89, 137}, {92, 223, 89, 138}, {92, 223, 89, 140}, {92, 223, 89, 142}}, - }, - { - Region: models.PIARegion("Mexico"), - IPs: []net.IP{{169, 57, 0, 211}, {169, 57, 0, 216}, {169, 57, 0, 218}, {169, 57, 0, 219}, {169, 57, 0, 221}, {169, 57, 0, 225}, {169, 57, 0, 229}, {169, 57, 0, 231}, {169, 57, 0, 233}, {169, 57, 0, 249}}, - }, - { - Region: models.PIARegion("Netherlands"), - IPs: []net.IP{{46, 166, 137, 218}, {46, 166, 138, 138}, {46, 166, 138, 161}, {46, 166, 138, 172}, {46, 166, 188, 211}, {46, 166, 188, 218}, {46, 166, 190, 178}, {46, 166, 190, 223}, {46, 166, 190, 227}, {46, 166, 190, 230}}, - }, - { - Region: models.PIARegion("New Zealand"), - IPs: []net.IP{{103, 231, 90, 171}, {103, 231, 90, 172}, {103, 231, 90, 173}, {103, 231, 91, 34}, {103, 231, 91, 35}, {103, 231, 91, 66}, {103, 231, 91, 67}, {103, 231, 91, 68}, {103, 231, 91, 69}, {103, 231, 91, 74}}, - }, - { - Region: models.PIARegion("Norway"), - IPs: []net.IP{{82, 102, 27, 50}, {82, 102, 27, 55}, {82, 102, 27, 74}, {82, 102, 27, 76}, {82, 102, 27, 77}, {82, 102, 27, 78}, {82, 102, 27, 124}, {82, 102, 27, 125}, {82, 102, 27, 126}, {185, 253, 97, 228}}, - }, - { - Region: models.PIARegion("Poland"), - IPs: []net.IP{{185, 244, 214, 14}, {185, 244, 214, 194}, {185, 244, 214, 195}, {185, 244, 214, 197}, {185, 244, 214, 198}, {185, 244, 214, 199}, {185, 244, 214, 200}, {185, 244, 214, 200}, {185, 244, 214, 194}, {185, 244, 214, 198}, {185, 244, 214, 195}, {185, 244, 214, 14}, {185, 244, 214, 199}, {185, 244, 214, 197}}, - }, - { - Region: models.PIARegion("Romania"), - IPs: []net.IP{{86, 105, 25, 68}, {86, 105, 25, 69}, {89, 33, 8, 42}, {185, 210, 218, 98}, {185, 210, 218, 99}, {185, 210, 218, 101}, {185, 210, 218, 102}, {185, 210, 218, 104}, {185, 210, 218, 105}, {185, 210, 218, 108}}, - }, - { - Region: models.PIARegion("Singapore"), - IPs: []net.IP{{37, 120, 208, 67}, {37, 120, 208, 69}, {37, 120, 208, 71}, {37, 120, 208, 72}, {37, 120, 208, 73}, {37, 120, 208, 74}, {37, 120, 208, 75}, {37, 120, 208, 76}, {37, 120, 208, 79}, {37, 120, 208, 80}, {37, 120, 208, 69}, {37, 120, 208, 80}, {37, 120, 208, 71}, {37, 120, 208, 72}, {37, 120, 208, 73}, {37, 120, 208, 74}, {37, 120, 208, 75}, {37, 120, 208, 76}, {37, 120, 208, 79}, {37, 120, 208, 67}}, - }, - { - Region: models.PIARegion("Spain"), - IPs: []net.IP{{37, 120, 148, 86}, {194, 99, 104, 30}, {185, 230, 124, 51}, {185, 230, 124, 52}, {185, 230, 124, 53}, {185, 230, 124, 50}}, - }, - { - Region: models.PIARegion("Sweden"), - IPs: []net.IP{{45, 12, 220, 175}, {45, 12, 220, 194}, {45, 12, 220, 204}, {45, 12, 220, 206}, {45, 83, 91, 35}, {45, 12, 220, 210}, {45, 12, 220, 228}, {45, 12, 220, 238}, {45, 12, 220, 239}, {45, 12, 220, 207}, {45, 12, 220, 175}, {45, 12, 220, 194}, {45, 12, 220, 204}, {45, 12, 220, 206}, {45, 83, 91, 35}, {45, 12, 220, 210}, {45, 12, 220, 228}, {45, 12, 220, 238}, {45, 12, 220, 239}, {45, 12, 220, 207}}, - }, - { - Region: models.PIARegion("Switzerland"), - IPs: []net.IP{{82, 102, 24, 167}, {185, 156, 175, 85}, {185, 156, 175, 87}, {185, 212, 170, 179}, {185, 212, 170, 180}, {185, 212, 170, 182}, {185, 230, 125, 34}, {185, 230, 125, 42}, {195, 206, 105, 211}, {212, 102, 36, 1}}, - }, - { - Region: models.PIARegion("UAE"), - IPs: []net.IP{{45, 9, 250, 42}, {45, 9, 250, 46}, {45, 9, 250, 62}, {45, 9, 250, 42}, {45, 9, 250, 46}, {45, 9, 250, 62}}, - }, - { - Region: models.PIARegion("UK London"), - IPs: []net.IP{{89, 238, 150, 8}, {89, 238, 150, 24}, {89, 238, 154, 18}, {89, 238, 154, 119}, {89, 238, 154, 121}, {89, 238, 154, 168}, {89, 238, 154, 178}, {89, 238, 154, 179}, {89, 238, 154, 228}, {89, 238, 154, 244}, {89, 238, 154, 244}, {89, 238, 150, 24}, {89, 238, 154, 18}, {89, 238, 154, 119}, {89, 238, 154, 121}, {89, 238, 154, 168}, {89, 238, 154, 178}, {89, 238, 154, 179}, {89, 238, 154, 228}, {89, 238, 150, 8}}, - }, - { - Region: models.PIARegion("UK Manchester"), - IPs: []net.IP{{89, 238, 137, 38}, {89, 238, 139, 4}, {89, 238, 139, 5}, {89, 238, 139, 8}, {89, 238, 139, 10}, {89, 238, 139, 12}, {89, 238, 139, 13}, {89, 238, 139, 52}, {89, 238, 139, 56}, {89, 238, 139, 58}}, - }, - { - Region: models.PIARegion("UK Southampton"), - IPs: []net.IP{{31, 24, 226, 132}, {31, 24, 226, 138}, {31, 24, 226, 207}, {31, 24, 226, 219}, {31, 24, 226, 220}, {31, 24, 226, 223}, {31, 24, 226, 227}, {31, 24, 226, 241}, {31, 24, 231, 208}, {88, 202, 231, 118}}, - }, - { - Region: models.PIARegion("US Atlanta"), - IPs: []net.IP{{66, 115, 168, 6}, {66, 115, 168, 14}, {66, 115, 168, 17}, {66, 115, 168, 23}, {66, 115, 168, 25}, {66, 115, 169, 199}, {66, 115, 169, 208}, {66, 115, 169, 217}, {66, 115, 169, 219}, {66, 115, 169, 230}, {66, 115, 168, 6}, {66, 115, 168, 14}, {66, 115, 168, 17}, {66, 115, 169, 230}, {66, 115, 168, 25}, {66, 115, 169, 199}, {66, 115, 169, 208}, {66, 115, 169, 217}, {66, 115, 169, 219}, {66, 115, 168, 23}}, - }, - { - Region: models.PIARegion("US California"), - IPs: []net.IP{{91, 207, 175, 37}, {91, 207, 175, 60}, {91, 207, 175, 86}, {91, 207, 175, 109}, {185, 245, 87, 198}, {91, 207, 175, 167}, {91, 207, 175, 176}, {185, 245, 87, 171}, {91, 207, 175, 117}, {185, 245, 87, 195}, {91, 207, 175, 37}, {91, 207, 175, 60}, {91, 207, 175, 86}, {91, 207, 175, 109}, {91, 207, 175, 117}, {91, 207, 175, 167}, {91, 207, 175, 176}, {185, 245, 87, 171}, {185, 245, 87, 195}, {185, 245, 87, 198}}, - }, - { - Region: models.PIARegion("US Chicago"), - IPs: []net.IP{{199, 116, 115, 130}, {199, 116, 115, 131}, {199, 116, 115, 147}, {199, 116, 115, 134}, {199, 116, 115, 135}, {199, 116, 115, 136}, {199, 116, 115, 138}, {199, 116, 115, 141}, {199, 116, 115, 144}, {199, 116, 115, 133}}, - }, - { - Region: models.PIARegion("US Denver"), - IPs: []net.IP{{174, 128, 226, 10}, {174, 128, 226, 18}, {174, 128, 243, 106}, {174, 128, 243, 114}, {199, 115, 101, 186}, {198, 148, 88, 250}, {199, 115, 97, 202}, {199, 115, 98, 146}, {199, 115, 99, 218}, {174, 128, 250, 26}, {199, 115, 97, 202}, {174, 128, 226, 18}, {174, 128, 243, 106}, {174, 128, 243, 114}, {198, 148, 88, 250}, {174, 128, 226, 10}, {199, 115, 101, 186}, {199, 115, 98, 146}, {199, 115, 99, 218}, {174, 128, 250, 26}}, - }, - { - Region: models.PIARegion("US East"), - IPs: []net.IP{{193, 37, 253, 82}, {193, 37, 253, 113}, {194, 59, 251, 22}, {194, 59, 251, 90}, {194, 59, 251, 109}, {194, 59, 251, 140}, {194, 59, 251, 148}, {194, 59, 251, 155}, {194, 59, 251, 218}, {194, 59, 251, 249}, {194, 59, 251, 101}, {194, 59, 251, 152}, {194, 59, 251, 156}, {194, 59, 251, 187}, {193, 37, 253, 67}}, - }, - { - Region: models.PIARegion("US Florida"), - IPs: []net.IP{{193, 37, 252, 2}, {193, 37, 252, 3}, {193, 37, 252, 4}, {193, 37, 252, 5}, {193, 37, 252, 6}, {193, 37, 252, 7}, {193, 37, 252, 8}, {193, 37, 252, 9}, {193, 37, 252, 10}, {193, 37, 252, 11}, {193, 37, 252, 12}, {193, 37, 252, 13}, {193, 37, 252, 14}, {193, 37, 252, 15}, {193, 37, 252, 16}, {193, 37, 252, 17}, {193, 37, 252, 18}, {193, 37, 252, 19}, {193, 37, 252, 20}, {193, 37, 252, 21}, {193, 37, 252, 22}, {193, 37, 252, 23}, {193, 37, 252, 24}, {193, 37, 252, 25}, {193, 37, 252, 34}, {193, 37, 252, 35}, {193, 37, 252, 36}, {193, 37, 252, 37}, {193, 37, 252, 38}, {193, 37, 252, 39}, {193, 37, 252, 40}, {193, 37, 252, 41}, {193, 37, 252, 42}, {193, 37, 252, 43}, {193, 37, 252, 44}, {193, 37, 252, 45}, {193, 37, 252, 46}, {193, 37, 252, 47}, {193, 37, 252, 48}, {193, 37, 252, 49}, {193, 37, 252, 50}, {193, 37, 252, 51}, {193, 37, 252, 52}, {193, 37, 252, 53}, {193, 37, 252, 54}, {193, 37, 252, 55}, {193, 37, 252, 56}, {193, 37, 252, 57}, {193, 37, 252, 58}, {193, 37, 252, 59}, {193, 37, 252, 60}, {193, 37, 252, 61}, {193, 37, 252, 62}, {193, 37, 252, 66}, {193, 37, 252, 67}, {193, 37, 252, 174}, {193, 37, 252, 69}, {193, 37, 252, 70}, {193, 37, 252, 74}, {193, 37, 252, 75}, {193, 37, 252, 76}, {193, 37, 252, 77}, {193, 37, 252, 78}, {193, 37, 252, 82}, {193, 37, 252, 86}, {193, 37, 252, 98}, {193, 37, 252, 99}, {193, 37, 252, 100}, {193, 37, 252, 101}, {193, 37, 252, 102}, {193, 37, 252, 103}, {193, 37, 252, 104}, {193, 37, 252, 105}, {193, 37, 252, 106}, {193, 37, 252, 107}, {193, 37, 252, 108}, {193, 37, 252, 109}, {193, 37, 252, 110}, {193, 37, 252, 111}, {193, 37, 252, 112}, {193, 37, 252, 113}, {193, 37, 252, 114}, {193, 37, 252, 115}, {193, 37, 252, 116}, {193, 37, 252, 117}, {193, 37, 252, 118}, {193, 37, 252, 119}, {193, 37, 252, 120}, {193, 37, 252, 121}, {193, 37, 252, 122}, {193, 37, 252, 123}, {193, 37, 252, 124}, {193, 37, 252, 125}, {193, 37, 252, 126}, {193, 37, 252, 170}, {193, 37, 252, 68}}, - }, - { - Region: models.PIARegion("US Houston"), - IPs: []net.IP{{74, 81, 88, 18}, {74, 81, 88, 26}, {74, 81, 88, 34}, {74, 81, 88, 58}, {74, 81, 88, 74}, {74, 81, 88, 130}, {205, 251, 148, 82}, {205, 251, 148, 186}, {205, 251, 150, 194}, {205, 251, 150, 242}}, - }, - { - Region: models.PIARegion("US Las Vegas"), - IPs: []net.IP{{162, 251, 236, 3}, {162, 251, 236, 4}, {162, 251, 236, 5}, {162, 251, 236, 7}, {199, 127, 56, 83}, {199, 127, 56, 84}, {199, 127, 56, 86}, {199, 127, 56, 89}, {199, 127, 56, 90}, {199, 127, 56, 116}}, - }, - { - Region: models.PIARegion("US New York City"), - IPs: []net.IP{{107, 182, 231, 23}, {107, 182, 231, 37}, {173, 244, 223, 122}, {209, 95, 50, 15}, {209, 95, 50, 47}, {209, 95, 50, 48}, {209, 95, 50, 50}, {209, 95, 50, 53}, {209, 95, 50, 138}, {209, 95, 50, 158}, {209, 95, 50, 158}, {107, 182, 231, 23}, {173, 244, 223, 122}, {209, 95, 50, 47}, {209, 95, 50, 50}, {209, 95, 50, 48}, {209, 95, 50, 53}, {107, 182, 231, 37}, {209, 95, 50, 138}, {209, 95, 50, 15}}, - }, - { - Region: models.PIARegion("US Seattle"), - IPs: []net.IP{{104, 200, 154, 4}, {104, 200, 154, 7}, {104, 200, 154, 11}, {104, 200, 154, 38}, {104, 200, 154, 55}, {104, 200, 154, 58}, {104, 200, 154, 67}, {104, 200, 154, 74}, {104, 200, 154, 77}, {104, 200, 154, 99}, {104, 200, 154, 74}, {104, 200, 154, 7}, {104, 200, 154, 11}, {104, 200, 154, 4}, {104, 200, 154, 55}, {104, 200, 154, 58}, {104, 200, 154, 38}, {104, 200, 154, 99}, {104, 200, 154, 77}, {104, 200, 154, 67}}, - }, - { - Region: models.PIARegion("US Silicon Valley"), - IPs: []net.IP{{199, 116, 118, 131}, {199, 116, 118, 141}, {199, 116, 118, 170}, {199, 116, 118, 183}, {199, 116, 118, 221}, {199, 116, 118, 227}, {199, 116, 118, 228}, {199, 116, 118, 229}, {199, 116, 118, 238}, {199, 116, 118, 246}}, - }, - { - Region: models.PIARegion("US Texas"), - IPs: []net.IP{{162, 216, 46, 15}, {162, 216, 46, 30}, {162, 216, 46, 48}, {162, 216, 46, 55}, {162, 216, 46, 68}, {162, 216, 46, 95}, {162, 216, 46, 116}, {162, 216, 46, 142}, {162, 216, 46, 166}, {162, 216, 46, 174}}, - }, - { - Region: models.PIARegion("US Washington DC"), - IPs: []net.IP{{70, 32, 0, 31}, {70, 32, 0, 50}, {70, 32, 0, 53}, {70, 32, 0, 54}, {70, 32, 0, 66}, {70, 32, 0, 101}, {70, 32, 0, 141}, {70, 32, 0, 172}, {70, 32, 0, 173}, {70, 32, 0, 175}, {70, 32, 0, 31}, {70, 32, 0, 50}, {70, 32, 0, 53}, {70, 32, 0, 175}, {70, 32, 0, 66}, {70, 32, 0, 173}, {70, 32, 0, 141}, {70, 32, 0, 172}, {70, 32, 0, 54}, {70, 32, 0, 101}}, - }, - { - Region: models.PIARegion("US West"), - IPs: []net.IP{{104, 200, 151, 6}, {104, 200, 151, 8}, {104, 200, 151, 12}, {104, 200, 151, 23}, {104, 200, 151, 40}, {104, 200, 151, 44}, {104, 200, 151, 45}, {104, 200, 151, 54}, {104, 200, 151, 74}, {104, 200, 151, 89}}, - }, + {Region: models.PIARegion("AU Melbourne"), IPs: []net.IP{{43, 250, 204, 85}, {43, 250, 204, 91}, {43, 250, 204, 93}, {43, 250, 204, 95}, {43, 250, 204, 101}, {43, 250, 204, 103}, {43, 250, 204, 105}, {43, 250, 204, 107}, {43, 250, 204, 109}, {43, 250, 204, 115}, {43, 250, 204, 117}, {43, 250, 204, 123}, {43, 250, 204, 125}}}, + {Region: models.PIARegion("AU Perth"), IPs: []net.IP{{43, 250, 205, 59}, {43, 250, 205, 89}, {43, 250, 205, 91}, {43, 250, 205, 95}}}, + {Region: models.PIARegion("AU Sydney"), IPs: []net.IP{{27, 50, 70, 87}, {27, 50, 77, 251}, {27, 50, 81, 117}, {103, 13, 102, 115}, {103, 13, 102, 123}, {103, 13, 102, 127}, {118, 127, 60, 53}, {118, 127, 60, 61}, {221, 121, 145, 133}, {221, 121, 145, 135}, {221, 121, 145, 137}, {221, 121, 145, 145}, {221, 121, 145, 147}, {221, 121, 145, 159}, {221, 121, 148, 221}}}, + {Region: models.PIARegion("Austria"), IPs: []net.IP{{185, 210, 219, 147}, {185, 210, 219, 154}, {185, 210, 219, 155}, {185, 210, 219, 156}, {185, 216, 34, 226}, {185, 216, 34, 227}, {185, 216, 34, 228}, {185, 216, 34, 229}, {185, 216, 34, 230}, {185, 216, 34, 231}, {185, 216, 34, 232}, {185, 216, 34, 233}, {185, 216, 34, 236}, {185, 216, 34, 237}, {185, 216, 34, 238}}}, + {Region: models.PIARegion("Belgium"), IPs: []net.IP{{77, 243, 191, 21}, {77, 243, 191, 22}, {77, 243, 191, 23}, {77, 243, 191, 26}, {77, 243, 191, 27}, {185, 104, 186, 26}}}, + {Region: models.PIARegion("CA Montreal"), IPs: []net.IP{{199, 229, 249, 166}, {199, 229, 249, 182}}}, + {Region: models.PIARegion("CA Toronto"), IPs: []net.IP{{172, 98, 67, 6}, {172, 98, 67, 14}, {172, 98, 67, 22}, {172, 98, 67, 29}, {172, 98, 67, 35}, {172, 98, 67, 38}, {172, 98, 67, 39}, {172, 98, 67, 43}, {172, 98, 67, 50}, {172, 98, 67, 54}, {172, 98, 67, 56}, {172, 98, 67, 58}, {172, 98, 67, 62}, {172, 98, 67, 66}, {172, 98, 67, 83}, {172, 98, 67, 84}, {172, 98, 67, 88}, {172, 98, 67, 94}, {172, 98, 67, 97}, {172, 98, 67, 100}}}, + {Region: models.PIARegion("CA Vancouver"), IPs: []net.IP{{107, 181, 189, 83}, {172, 83, 40, 20}}}, + {Region: models.PIARegion("Czech Republic"), IPs: []net.IP{{89, 238, 186, 226}, {89, 238, 186, 227}, {89, 238, 186, 229}, {89, 238, 186, 230}, {185, 216, 35, 66}, {185, 216, 35, 67}, {185, 216, 35, 68}, {185, 216, 35, 69}, {185, 216, 35, 70}, {185, 242, 6, 26}, {185, 242, 6, 27}, {185, 242, 6, 28}, {185, 242, 6, 29}}}, + {Region: models.PIARegion("DE Berlin"), IPs: []net.IP{{185, 230, 127, 228}, {185, 230, 127, 230}, {185, 230, 127, 231}, {185, 230, 127, 233}, {185, 230, 127, 234}, {185, 230, 127, 238}, {185, 230, 127, 239}, {185, 230, 127, 240}, {185, 230, 127, 241}, {185, 230, 127, 243}, {193, 176, 86, 122}, {193, 176, 86, 124}, {193, 176, 86, 125}, {193, 176, 86, 138}, {193, 176, 86, 142}, {193, 176, 86, 150}, {193, 176, 86, 166}, {193, 176, 86, 170}, {193, 176, 86, 174}, {194, 36, 108, 6}}}, + {Region: models.PIARegion("DE Frankfurt"), IPs: []net.IP{{185, 220, 70, 134}, {185, 220, 70, 135}, {185, 220, 70, 136}, {185, 220, 70, 139}, {185, 220, 70, 140}, {185, 220, 70, 142}, {185, 220, 70, 144}, {185, 220, 70, 148}, {185, 220, 70, 149}, {185, 220, 70, 150}, {185, 220, 70, 151}, {185, 220, 70, 152}, {185, 220, 70, 153}, {185, 220, 70, 155}, {185, 220, 70, 162}, {185, 220, 70, 167}, {185, 220, 70, 169}, {185, 220, 70, 170}, {185, 220, 70, 171}, {185, 220, 70, 172}}}, + {Region: models.PIARegion("Denmark"), IPs: []net.IP{{82, 102, 20, 162}, {82, 102, 20, 163}, {82, 102, 20, 164}, {82, 102, 20, 165}, {82, 102, 20, 166}, {82, 102, 20, 167}, {82, 102, 20, 168}, {82, 102, 20, 169}, {82, 102, 20, 170}, {82, 102, 20, 172}, {82, 102, 20, 173}, {82, 102, 20, 174}, {82, 102, 20, 175}, {82, 102, 20, 177}, {82, 102, 20, 178}, {82, 102, 20, 179}, {82, 102, 20, 180}, {82, 102, 20, 182}, {82, 102, 20, 184}, {82, 102, 20, 230}}}, + {Region: models.PIARegion("Finlan"), IPs: []net.IP{{196, 244, 191, 2}, {196, 244, 191, 10}, {196, 244, 191, 18}, {196, 244, 191, 26}, {196, 244, 191, 42}, {196, 244, 191, 50}, {196, 244, 191, 58}, {196, 244, 191, 66}, {196, 244, 191, 74}, {196, 244, 191, 82}, {196, 244, 191, 90}, {196, 244, 191, 98}, {196, 244, 191, 106}, {196, 244, 191, 114}, {196, 244, 191, 122}, {196, 244, 191, 138}, {196, 244, 191, 146}}}, + {Region: models.PIARegion("France"), IPs: []net.IP{{194, 99, 106, 146}, {194, 99, 106, 147}, {194, 99, 106, 148}, {194, 99, 106, 149}, {194, 187, 249, 35}, {194, 187, 249, 37}, {194, 187, 249, 38}, {194, 187, 249, 39}, {194, 187, 249, 43}, {194, 187, 249, 46}, {194, 187, 249, 47}, {194, 187, 249, 49}, {194, 187, 249, 52}, {194, 187, 249, 53}, {194, 187, 249, 57}, {194, 187, 249, 58}, {194, 187, 249, 178}, {194, 187, 249, 179}, {194, 187, 249, 184}, {194, 187, 249, 186}}}, + {Region: models.PIARegion("Hong Kong"), IPs: []net.IP{{84, 17, 37, 1}, {84, 17, 37, 23}, {84, 17, 37, 45}, {119, 81, 135, 2}, {119, 81, 135, 5}, {119, 81, 135, 28}, {119, 81, 135, 29}, {119, 81, 135, 47}, {119, 81, 135, 51}, {119, 81, 135, 53}, {119, 81, 253, 212}, {119, 81, 253, 218}, {119, 81, 253, 226}, {119, 81, 253, 229}, {119, 81, 253, 230}, {119, 81, 253, 241}, {119, 81, 253, 242}, {161, 202, 39, 240}, {161, 202, 39, 251}, {161, 202, 44, 94}}}, + {Region: models.PIARegion("Hungary"), IPs: []net.IP{{185, 128, 26, 18}, {185, 128, 26, 19}, {185, 128, 26, 20}, {185, 128, 26, 21}, {185, 128, 26, 22}, {185, 128, 26, 23}, {185, 128, 26, 24}, {185, 189, 114, 98}}}, + {Region: models.PIARegion("India"), IPs: []net.IP{{150, 242, 12, 155}, {150, 242, 12, 171}, {150, 242, 12, 187}}}, + {Region: models.PIARegion("Ireland"), IPs: []net.IP{{23, 92, 127, 2}, {23, 92, 127, 10}, {23, 92, 127, 18}, {23, 92, 127, 34}, {23, 92, 127, 50}, {23, 92, 127, 58}, {23, 92, 127, 66}}}, + {Region: models.PIARegion("Israel"), IPs: []net.IP{{31, 168, 172, 136}, {31, 168, 172, 142}, {31, 168, 172, 143}, {31, 168, 172, 145}, {31, 168, 172, 146}, {31, 168, 172, 147}}}, + {Region: models.PIARegion("Italy"), IPs: []net.IP{{82, 102, 21, 98}, {82, 102, 21, 210}, {82, 102, 21, 211}, {82, 102, 21, 212}, {82, 102, 21, 213}, {82, 102, 21, 214}, {82, 102, 21, 215}, {82, 102, 21, 217}, {82, 102, 21, 218}}}, + {Region: models.PIARegion("Japan"), IPs: []net.IP{{103, 208, 220, 130}, {103, 208, 220, 132}, {103, 208, 220, 134}, {103, 208, 220, 135}, {103, 208, 220, 136}, {103, 208, 220, 137}, {103, 208, 220, 139}, {103, 208, 220, 140}, {103, 208, 220, 141}, {103, 208, 220, 142}, {103, 208, 220, 143}}}, + {Region: models.PIARegion("Luxembourg"), IPs: []net.IP{{92, 223, 89, 133}, {92, 223, 89, 135}, {92, 223, 89, 136}, {92, 223, 89, 137}, {92, 223, 89, 138}, {92, 223, 89, 140}}}, + {Region: models.PIARegion("Mexico"), IPs: []net.IP{{169, 57, 0, 202}, {169, 57, 0, 203}, {169, 57, 0, 205}, {169, 57, 0, 207}, {169, 57, 0, 211}, {169, 57, 0, 213}, {169, 57, 0, 214}, {169, 57, 0, 216}, {169, 57, 0, 217}, {169, 57, 0, 218}, {169, 57, 0, 219}, {169, 57, 0, 221}, {169, 57, 0, 224}, {169, 57, 0, 225}, {169, 57, 0, 229}, {169, 57, 0, 230}, {169, 57, 0, 231}, {169, 57, 0, 235}, {169, 57, 0, 238}, {169, 57, 0, 243}, {169, 57, 0, 247}, {169, 57, 0, 248}, {169, 57, 0, 249}}}, + {Region: models.PIARegion("Netherlands"), IPs: []net.IP{{46, 166, 138, 143}, {46, 166, 138, 157}, {46, 166, 186, 218}, {46, 166, 186, 232}, {46, 166, 186, 233}, {46, 166, 188, 193}, {46, 166, 188, 216}, {46, 166, 188, 244}, {46, 166, 190, 184}, {46, 166, 190, 197}, {46, 166, 190, 201}, {46, 166, 190, 235}, {85, 159, 236, 214}, {85, 159, 236, 219}, {109, 201, 152, 14}, {109, 201, 152, 26}, {109, 201, 152, 245}, {109, 201, 154, 141}, {109, 201, 154, 144}, {212, 92, 104, 164}}}, + {Region: models.PIARegion("New Zealand"), IPs: []net.IP{{103, 231, 90, 170}, {103, 231, 90, 171}, {103, 231, 90, 172}, {103, 231, 90, 173}, {103, 231, 91, 34}, {103, 231, 91, 35}, {103, 231, 91, 38}, {103, 231, 91, 66}, {103, 231, 91, 67}, {103, 231, 91, 68}, {103, 231, 91, 69}, {103, 231, 91, 70}}}, + {Region: models.PIARegion("Norway"), IPs: []net.IP{{82, 102, 27, 50}, {82, 102, 27, 51}, {82, 102, 27, 52}, {82, 102, 27, 53}, {82, 102, 27, 54}, {82, 102, 27, 55}, {82, 102, 27, 56}, {82, 102, 27, 74}, {82, 102, 27, 75}, {82, 102, 27, 77}, {82, 102, 27, 78}, {82, 102, 27, 114}, {82, 102, 27, 116}, {82, 102, 27, 117}, {82, 102, 27, 118}, {82, 102, 27, 124}, {82, 102, 27, 125}, {82, 102, 27, 126}, {185, 206, 225, 222}, {185, 253, 97, 226}}}, + {Region: models.PIARegion("Poland"), IPs: []net.IP{{185, 244, 214, 14}, {185, 244, 214, 194}, {185, 244, 214, 196}, {185, 244, 214, 197}, {185, 244, 214, 198}, {185, 244, 214, 199}, {185, 244, 214, 200}}}, + {Region: models.PIARegion("Romania"), IPs: []net.IP{{86, 105, 25, 68}, {86, 105, 25, 69}, {86, 105, 25, 70}, {86, 105, 25, 74}, {86, 105, 25, 75}, {86, 105, 25, 76}, {86, 105, 25, 77}, {86, 105, 25, 78}, {89, 33, 8, 38}, {89, 33, 8, 42}, {94, 176, 148, 34}, {94, 176, 148, 35}, {185, 210, 218, 98}, {185, 210, 218, 99}, {185, 210, 218, 101}, {185, 210, 218, 102}, {185, 210, 218, 103}, {185, 210, 218, 104}, {185, 210, 218, 105}, {185, 210, 218, 108}}}, + {Region: models.PIARegion("Singapore"), IPs: []net.IP{{37, 120, 208, 66}, {37, 120, 208, 67}, {37, 120, 208, 68}, {37, 120, 208, 69}, {37, 120, 208, 70}, {37, 120, 208, 71}, {37, 120, 208, 72}, {37, 120, 208, 73}, {37, 120, 208, 74}, {37, 120, 208, 75}, {37, 120, 208, 76}, {37, 120, 208, 77}, {37, 120, 208, 78}, {37, 120, 208, 79}, {37, 120, 208, 80}, {37, 120, 208, 81}, {37, 120, 208, 82}, {37, 120, 208, 83}}}, + {Region: models.PIARegion("Spain"), IPs: []net.IP{{185, 230, 124, 53}, {194, 99, 104, 29}}}, + {Region: models.PIARegion("Sweden"), IPs: []net.IP{{45, 12, 220, 178}, {45, 12, 220, 180}, {45, 12, 220, 182}, {45, 12, 220, 190}, {45, 12, 220, 194}, {45, 12, 220, 196}, {45, 12, 220, 201}, {45, 12, 220, 202}, {45, 12, 220, 203}, {45, 12, 220, 208}, {45, 12, 220, 226}, {45, 12, 220, 228}, {45, 12, 220, 231}, {45, 12, 220, 234}, {45, 12, 220, 237}, {45, 12, 220, 240}, {45, 12, 220, 243}, {45, 12, 220, 246}, {45, 12, 220, 253}, {45, 83, 91, 36}}}, + {Region: models.PIARegion("Switzerland"), IPs: []net.IP{{82, 102, 24, 251}, {91, 132, 136, 44}, {91, 132, 136, 45}, {91, 132, 136, 54}, {185, 156, 175, 84}, {185, 156, 175, 85}, {185, 156, 175, 90}, {185, 156, 175, 91}, {185, 230, 125, 36}, {185, 230, 125, 37}, {185, 230, 125, 42}, {185, 230, 125, 43}, {185, 230, 125, 44}, {185, 230, 125, 48}, {185, 230, 125, 51}, {185, 230, 125, 52}, {185, 230, 125, 53}, {185, 230, 125, 84}, {195, 206, 105, 212}, {212, 102, 36, 1}}}, + {Region: models.PIARegion("UAE"), IPs: []net.IP{{45, 9, 250, 42}, {45, 9, 250, 46}, {45, 9, 250, 62}}}, + {Region: models.PIARegion("UK London"), IPs: []net.IP{{89, 238, 150, 7}, {89, 238, 150, 14}, {89, 238, 154, 18}, {89, 238, 154, 22}, {89, 238, 154, 23}, {89, 238, 154, 118}, {89, 238, 154, 122}, {89, 238, 154, 124}, {89, 238, 154, 162}, {89, 238, 154, 163}, {89, 238, 154, 168}, {89, 238, 154, 174}, {89, 238, 154, 175}, {89, 238, 154, 227}, {89, 238, 154, 234}, {89, 238, 154, 235}, {89, 238, 154, 240}, {89, 238, 154, 243}, {89, 238, 154, 247}, {89, 238, 154, 252}}}, + {Region: models.PIARegion("UK Manchester"), IPs: []net.IP{{89, 238, 137, 39}, {89, 238, 137, 40}, {89, 238, 137, 41}, {89, 238, 137, 42}, {89, 238, 137, 43}, {89, 238, 139, 4}, {89, 238, 139, 5}, {89, 238, 139, 6}, {89, 238, 139, 7}, {89, 238, 139, 9}, {89, 238, 139, 10}, {89, 238, 139, 11}, {89, 238, 139, 12}, {89, 238, 139, 13}, {89, 238, 139, 52}, {89, 238, 139, 54}, {89, 238, 139, 55}, {89, 238, 139, 57}, {89, 238, 139, 58}, {89, 249, 67, 220}}}, + {Region: models.PIARegion("UK Southampton"), IPs: []net.IP{{31, 24, 226, 132}, {31, 24, 226, 139}, {31, 24, 226, 141}, {31, 24, 226, 146}, {31, 24, 226, 189}, {31, 24, 226, 202}, {31, 24, 226, 205}, {31, 24, 226, 208}, {31, 24, 226, 217}, {31, 24, 226, 219}, {31, 24, 226, 222}, {31, 24, 226, 231}, {31, 24, 226, 232}, {31, 24, 226, 234}, {31, 24, 226, 236}, {31, 24, 226, 243}, {31, 24, 226, 244}, {31, 24, 226, 246}, {31, 24, 226, 253}, {31, 24, 226, 254}}}, + {Region: models.PIARegion("US Atlanta"), IPs: []net.IP{{66, 115, 168, 4}, {66, 115, 168, 10}, {66, 115, 168, 13}, {66, 115, 168, 16}, {66, 115, 168, 17}, {66, 115, 168, 22}, {66, 115, 168, 23}, {66, 115, 168, 28}, {66, 115, 169, 196}, {66, 115, 169, 199}, {66, 115, 169, 202}, {66, 115, 169, 213}, {66, 115, 169, 219}, {66, 115, 169, 221}, {66, 115, 169, 223}, {66, 115, 169, 228}, {66, 115, 169, 235}, {66, 115, 169, 237}, {66, 115, 169, 239}, {66, 115, 169, 240}}}, + {Region: models.PIARegion("US California"), IPs: []net.IP{{91, 207, 175, 40}, {91, 207, 175, 50}, {91, 207, 175, 66}, {91, 207, 175, 68}, {91, 207, 175, 73}, {91, 207, 175, 84}, {91, 207, 175, 88}, {91, 207, 175, 111}, {91, 207, 175, 123}, {91, 207, 175, 124}, {91, 207, 175, 164}, {91, 207, 175, 177}, {91, 207, 175, 184}, {91, 207, 175, 196}, {185, 245, 87, 168}, {185, 245, 87, 169}, {185, 245, 87, 170}, {185, 245, 87, 180}, {185, 245, 87, 181}, {185, 245, 87, 221}}}, + {Region: models.PIARegion("US Chicago"), IPs: []net.IP{{104, 200, 153, 93}, {104, 200, 153, 99}, {199, 116, 115, 130}, {199, 116, 115, 131}, {199, 116, 115, 132}, {199, 116, 115, 133}, {199, 116, 115, 134}, {199, 116, 115, 135}, {199, 116, 115, 136}, {199, 116, 115, 137}, {199, 116, 115, 138}, {199, 116, 115, 139}, {199, 116, 115, 140}, {199, 116, 115, 141}, {199, 116, 115, 142}, {199, 116, 115, 143}, {199, 116, 115, 144}, {199, 116, 115, 145}, {199, 116, 115, 146}, {199, 116, 115, 147}, {199, 116, 115, 148}}}, + {Region: models.PIARegion("US Denver"), IPs: []net.IP{{174, 128, 225, 98}, {174, 128, 225, 106}, {174, 128, 226, 18}, {174, 128, 236, 106}, {174, 128, 242, 250}, {174, 128, 245, 98}, {174, 128, 245, 122}, {174, 128, 246, 10}, {174, 128, 250, 18}, {198, 148, 81, 82}, {198, 148, 82, 82}, {199, 115, 97, 202}, {199, 115, 98, 146}, {199, 115, 98, 154}, {199, 115, 98, 226}, {199, 115, 98, 234}, {199, 115, 99, 82}, {199, 115, 99, 218}, {199, 115, 101, 186}, {199, 115, 103, 2}}}, + {Region: models.PIARegion("US East"), IPs: []net.IP{{193, 37, 253, 23}, {193, 37, 253, 50}, {193, 37, 253, 56}, {193, 37, 253, 102}, {193, 37, 253, 112}, {193, 37, 253, 136}, {193, 37, 253, 254}, {194, 59, 251, 14}, {194, 59, 251, 37}, {194, 59, 251, 46}, {194, 59, 251, 49}, {194, 59, 251, 51}, {194, 59, 251, 52}, {194, 59, 251, 58}, {194, 59, 251, 67}, {194, 59, 251, 76}, {194, 59, 251, 78}, {194, 59, 251, 82}, {194, 59, 251, 85}, {194, 59, 251, 90}, {194, 59, 251, 94}, {194, 59, 251, 101}, {194, 59, 251, 103}, {194, 59, 251, 104}, {194, 59, 251, 133}, {194, 59, 251, 135}, {194, 59, 251, 141}, {194, 59, 251, 145}, {194, 59, 251, 147}, {194, 59, 251, 182}, {194, 59, 251, 183}, {194, 59, 251, 185}, {194, 59, 251, 187}, {194, 59, 251, 213}, {194, 59, 251, 220}, {194, 59, 251, 227}, {194, 59, 251, 236}, {194, 59, 251, 240}, {194, 59, 251, 245}, {194, 59, 251, 247}}}, + {Region: models.PIARegion("US Florida"), IPs: []net.IP{{193, 37, 252, 2}, {193, 37, 252, 7}, {193, 37, 252, 11}, {193, 37, 252, 17}, {193, 37, 252, 18}, {193, 37, 252, 22}, {193, 37, 252, 25}, {193, 37, 252, 35}, {193, 37, 252, 39}, {193, 37, 252, 41}, {193, 37, 252, 42}, {193, 37, 252, 43}, {193, 37, 252, 44}, {193, 37, 252, 45}, {193, 37, 252, 46}, {193, 37, 252, 50}, {193, 37, 252, 55}, {193, 37, 252, 58}, {193, 37, 252, 61}, {193, 37, 252, 68}, {193, 37, 252, 69}, {193, 37, 252, 106}, {193, 37, 252, 108}, {193, 37, 252, 109}, {193, 37, 252, 115}, {193, 37, 252, 116}, {193, 37, 252, 119}, {193, 37, 252, 120}, {193, 37, 252, 122}, {193, 37, 252, 126}, {193, 37, 252, 170}, {193, 37, 252, 174}}}, + {Region: models.PIARegion("US Houston"), IPs: []net.IP{{74, 81, 88, 18}, {74, 81, 88, 58}, {74, 81, 88, 66}, {74, 81, 88, 82}, {74, 81, 88, 90}, {74, 81, 88, 130}, {74, 81, 88, 162}, {205, 251, 148, 26}, {205, 251, 148, 42}, {205, 251, 148, 66}, {205, 251, 148, 90}, {205, 251, 148, 98}, {205, 251, 148, 122}, {205, 251, 148, 138}, {205, 251, 148, 146}, {205, 251, 148, 154}, {205, 251, 148, 178}, {205, 251, 150, 186}, {205, 251, 150, 234}, {205, 251, 151, 42}}}, + {Region: models.PIARegion("US Las Vegas"), IPs: []net.IP{{162, 251, 236, 2}, {162, 251, 236, 3}, {162, 251, 236, 4}, {162, 251, 236, 5}, {162, 251, 236, 6}, {162, 251, 236, 7}, {199, 127, 56, 82}, {199, 127, 56, 84}, {199, 127, 56, 86}, {199, 127, 56, 87}, {199, 127, 56, 88}, {199, 127, 56, 89}, {199, 127, 56, 90}, {199, 127, 56, 91}, {199, 127, 56, 114}, {199, 127, 56, 115}, {199, 127, 56, 116}, {199, 127, 56, 117}, {199, 127, 56, 118}, {199, 127, 56, 121}}}, + {Region: models.PIARegion("US New York City"), IPs: []net.IP{{107, 182, 231, 12}, {107, 182, 231, 25}, {107, 182, 231, 31}, {107, 182, 231, 33}, {107, 182, 231, 38}, {173, 244, 223, 122}, {209, 95, 50, 11}, {209, 95, 50, 24}, {209, 95, 50, 44}, {209, 95, 50, 45}, {209, 95, 50, 48}, {209, 95, 50, 54}, {209, 95, 50, 62}, {209, 95, 50, 83}, {209, 95, 50, 93}, {209, 95, 50, 98}, {209, 95, 50, 127}, {209, 95, 50, 137}, {209, 95, 50, 138}, {209, 95, 50, 147}}}, + {Region: models.PIARegion("US Seattle"), IPs: []net.IP{{104, 200, 154, 5}, {104, 200, 154, 17}, {104, 200, 154, 18}, {104, 200, 154, 22}, {104, 200, 154, 37}, {104, 200, 154, 53}, {104, 200, 154, 60}, {104, 200, 154, 61}, {104, 200, 154, 62}, {104, 200, 154, 66}, {104, 200, 154, 72}, {104, 200, 154, 75}, {104, 200, 154, 76}, {104, 200, 154, 77}, {104, 200, 154, 81}, {104, 200, 154, 82}, {104, 200, 154, 87}, {104, 200, 154, 88}, {104, 200, 154, 95}, {104, 200, 154, 98}}}, + {Region: models.PIARegion("US Silicon Valley"), IPs: []net.IP{{199, 116, 118, 133}, {199, 116, 118, 152}, {199, 116, 118, 154}, {199, 116, 118, 156}, {199, 116, 118, 162}, {199, 116, 118, 169}, {199, 116, 118, 172}, {199, 116, 118, 180}, {199, 116, 118, 182}, {199, 116, 118, 196}, {199, 116, 118, 205}, {199, 116, 118, 206}, {199, 116, 118, 209}, {199, 116, 118, 220}, {199, 116, 118, 221}, {199, 116, 118, 230}, {199, 116, 118, 234}, {199, 116, 118, 235}, {199, 116, 118, 240}, {199, 116, 118, 244}}}, + {Region: models.PIARegion("US Texas"), IPs: []net.IP{{162, 216, 46, 10}, {162, 216, 46, 18}, {162, 216, 46, 25}, {162, 216, 46, 31}, {162, 216, 46, 33}, {162, 216, 46, 34}, {162, 216, 46, 39}, {162, 216, 46, 64}, {162, 216, 46, 91}, {162, 216, 46, 92}, {162, 216, 46, 98}, {162, 216, 46, 100}, {162, 216, 46, 107}, {162, 216, 46, 121}, {162, 216, 46, 125}, {162, 216, 46, 129}, {162, 216, 46, 130}, {162, 216, 46, 145}, {162, 216, 46, 149}, {162, 216, 46, 164}}}, + {Region: models.PIARegion("US Washington DC"), IPs: []net.IP{{70, 32, 0, 23}, {70, 32, 0, 24}, {70, 32, 0, 46}, {70, 32, 0, 48}, {70, 32, 0, 62}, {70, 32, 0, 76}, {70, 32, 0, 77}, {70, 32, 0, 103}, {70, 32, 0, 107}, {70, 32, 0, 137}, {70, 32, 0, 140}, {70, 32, 0, 153}, {70, 32, 0, 166}, {70, 32, 0, 167}, {70, 32, 0, 170}, {70, 32, 0, 172}, {70, 32, 0, 173}, {70, 32, 0, 175}, {70, 32, 0, 176}, {70, 32, 0, 179}}}, + {Region: models.PIARegion("US West"), IPs: []net.IP{{104, 200, 151, 10}, {104, 200, 151, 11}, {104, 200, 151, 13}, {104, 200, 151, 15}, {104, 200, 151, 25}, {104, 200, 151, 32}, {104, 200, 151, 36}, {104, 200, 151, 40}, {104, 200, 151, 44}, {104, 200, 151, 49}, {104, 200, 151, 50}, {104, 200, 151, 52}, {104, 200, 151, 56}, {104, 200, 151, 57}, {104, 200, 151, 59}, {104, 200, 151, 60}, {104, 200, 151, 61}, {104, 200, 151, 73}, {104, 200, 151, 76}, {104, 200, 151, 79}}}, } } diff --git a/internal/constants/windscribe.go b/internal/constants/windscribe.go index a2fe0ce1..8fbf683d 100644 --- a/internal/constants/windscribe.go +++ b/internal/constants/windscribe.go @@ -20,285 +20,74 @@ func WindscribeRegionChoices() (choices []string) { func WindscribeServers() []models.WindscribeServer { return []models.WindscribeServer{ - { - Region: models.WindscribeRegion("albania"), - IPs: []net.IP{{31, 171, 152, 179}}, - }, - { - Region: models.WindscribeRegion("argentina"), - IPs: []net.IP{{190, 105, 236, 50}, {190, 105, 236, 19}, {167, 250, 6, 121}, {190, 105, 236, 32}}, - }, - { - Region: models.WindscribeRegion("argentina"), - IPs: []net.IP{{190, 105, 236, 50}, {190, 105, 236, 19}, {167, 250, 6, 121}, {190, 105, 236, 32}}, - }, - { - Region: models.WindscribeRegion("australia"), - IPs: []net.IP{{45, 121, 209, 160}, {116, 206, 228, 67}, {45, 121, 208, 160}, {103, 108, 92, 83}, {43, 245, 160, 35}, {45, 121, 210, 208}, {103, 62, 50, 208}, {116, 206, 229, 131}, {103, 77, 233, 67}, {103, 77, 234, 211}, {116, 90, 72, 243}}, - }, - { - Region: models.WindscribeRegion("austria"), - IPs: []net.IP{{89, 187, 168, 66}, {217, 64, 127, 11}}, - }, - { - Region: models.WindscribeRegion("azerbaijan"), - IPs: []net.IP{{85, 132, 61, 123}}, - }, - { - Region: models.WindscribeRegion("belgium"), - IPs: []net.IP{{185, 232, 21, 131}, {194, 187, 251, 147}}, - }, - { - Region: models.WindscribeRegion("bosnia"), - IPs: []net.IP{{185, 99, 3, 24}}, - }, - { - Region: models.WindscribeRegion("brazil"), - IPs: []net.IP{{177, 67, 80, 59}, {189, 1, 172, 12}, {177, 54, 144, 68}}, - }, - { - Region: models.WindscribeRegion("bulgaria"), - IPs: []net.IP{{185, 94, 192, 35}}, - }, - { - Region: models.WindscribeRegion("canada east"), - IPs: []net.IP{{104, 254, 92, 91}, {198, 8, 85, 210}, {192, 190, 19, 65}, {144, 168, 163, 193}, {104, 227, 235, 129}, {199, 204, 208, 158}, {192, 190, 19, 97}, {23, 154, 160, 177}, {144, 168, 163, 160}, {198, 8, 85, 195}, {104, 254, 92, 11}, {184, 75, 212, 91}, {66, 70, 148, 80}}, - }, - { - Region: models.WindscribeRegion("canada west"), - IPs: []net.IP{{104, 218, 61, 33}, {208, 78, 41, 163}, {162, 221, 207, 95}, {208, 78, 41, 1}, {208, 78, 41, 131}, {104, 218, 61, 1}}, - }, - { - Region: models.WindscribeRegion("colombia"), - IPs: []net.IP{{138, 121, 203, 203}}, - }, - { - Region: models.WindscribeRegion("croatia"), - IPs: []net.IP{{85, 10, 56, 252}}, - }, - { - Region: models.WindscribeRegion("cyprus"), - IPs: []net.IP{{157, 97, 132, 43}}, - }, - { - Region: models.WindscribeRegion("czech republic"), - IPs: []net.IP{{185, 156, 174, 11}, {185, 246, 210, 2}}, - }, - { - Region: models.WindscribeRegion("denmark"), - IPs: []net.IP{{185, 206, 224, 195}, {134, 90, 149, 147}}, - }, - { - Region: models.WindscribeRegion("estonia"), - IPs: []net.IP{{46, 22, 211, 251}, {196, 196, 216, 131}}, - }, - { - Region: models.WindscribeRegion("fake antarctica"), - IPs: []net.IP{{23, 154, 160, 222}, {23, 154, 160, 212}}, - }, - { - Region: models.WindscribeRegion("finland"), - IPs: []net.IP{{185, 112, 82, 227}}, - }, - { - Region: models.WindscribeRegion("france"), - IPs: []net.IP{{84, 17, 42, 2}, {45, 89, 174, 35}, {185, 156, 173, 187}, {82, 102, 18, 35}, {84, 17, 42, 34}}, - }, - { - Region: models.WindscribeRegion("georgia"), - IPs: []net.IP{{188, 93, 90, 83}}, - }, - { - Region: models.WindscribeRegion("germany"), - IPs: []net.IP{{45, 87, 212, 51}, {217, 138, 194, 115}, {185, 130, 184, 195}, {89, 249, 65, 19}, {195, 181, 170, 66}, {195, 181, 175, 98}}, - }, - { - Region: models.WindscribeRegion("greece"), - IPs: []net.IP{{188, 123, 126, 146}, {185, 226, 64, 111}, {78, 108, 38, 155}}, - }, - { - Region: models.WindscribeRegion("hong kong"), - IPs: []net.IP{{103, 10, 197, 99}, {84, 17, 57, 114}}, - }, - { - Region: models.WindscribeRegion("hungary"), - IPs: []net.IP{{185, 104, 187, 43}}, - }, - { - Region: models.WindscribeRegion("iceland"), - IPs: []net.IP{{185, 165, 170, 2}, {82, 221, 139, 38}}, - }, - { - Region: models.WindscribeRegion("india"), - IPs: []net.IP{{169, 38, 72, 14}, {103, 205, 140, 227}, {169, 38, 72, 12}, {169, 38, 68, 188}}, - }, - { - Region: models.WindscribeRegion("indonesia"), - IPs: []net.IP{{45, 127, 134, 91}}, - }, - { - Region: models.WindscribeRegion("ireland"), - IPs: []net.IP{{185, 24, 232, 146}, {185, 104, 219, 2}}, - }, - { - Region: models.WindscribeRegion("israel"), - IPs: []net.IP{{160, 116, 0, 27}, {185, 191, 205, 139}}, - }, - { - Region: models.WindscribeRegion("italy"), - IPs: []net.IP{{37, 120, 135, 83}, {89, 40, 182, 3}, {84, 17, 59, 66}, {87, 101, 94, 195}, {37, 120, 207, 19}}, - }, - { - Region: models.WindscribeRegion("japan"), - IPs: []net.IP{{193, 148, 16, 243}, {89, 187, 161, 114}}, - }, - { - Region: models.WindscribeRegion("latvia"), - IPs: []net.IP{{85, 254, 72, 23}}, - }, - { - Region: models.WindscribeRegion("lithuania"), - IPs: []net.IP{{85, 206, 163, 225}}, - }, - { - Region: models.WindscribeRegion("macedonia"), - IPs: []net.IP{{185, 225, 28, 51}}, - }, - { - Region: models.WindscribeRegion("malaysia"), - IPs: []net.IP{{103, 212, 69, 232}, {103, 106, 250, 31}}, - }, - { - Region: models.WindscribeRegion("mexico"), - IPs: []net.IP{{143, 255, 57, 67}, {201, 131, 125, 107}, {190, 103, 179, 211}, {190, 103, 179, 217}}, - }, - { - Region: models.WindscribeRegion("moldova"), - IPs: []net.IP{{178, 175, 144, 123}}, - }, - { - Region: models.WindscribeRegion("netherlands"), - IPs: []net.IP{{185, 212, 171, 131}, {72, 11, 157, 35}, {185, 253, 96, 3}, {72, 11, 157, 67}, {37, 120, 192, 19}, {84, 17, 46, 2}, {46, 166, 143, 98}}, - }, - { - Region: models.WindscribeRegion("new zealand"), - IPs: []net.IP{{103, 62, 49, 113}, {103, 108, 94, 163}}, - }, - { - Region: models.WindscribeRegion("norway"), - IPs: []net.IP{{37, 120, 203, 67}, {185, 206, 225, 131}}, - }, - { - Region: models.WindscribeRegion("philippines"), - IPs: []net.IP{{103, 103, 0, 118}}, - }, - { - Region: models.WindscribeRegion("poland"), - IPs: []net.IP{{185, 244, 214, 35}, {84, 17, 55, 98}, {5, 133, 11, 116}}, - }, - { - Region: models.WindscribeRegion("portugal"), - IPs: []net.IP{{185, 15, 21, 66}, {94, 46, 13, 215}}, - }, - { - Region: models.WindscribeRegion("romania"), - IPs: []net.IP{{89, 46, 103, 147}, {91, 207, 102, 147}}, - }, - { - Region: models.WindscribeRegion("russia"), - IPs: []net.IP{{95, 213, 193, 227}, {188, 124, 42, 99}, {95, 213, 193, 195}, {94, 242, 62, 19}, {94, 242, 62, 67}, {185, 22, 175, 132}, {188, 124, 42, 115}}, - }, - { - Region: models.WindscribeRegion("serbia"), - IPs: []net.IP{{141, 98, 103, 19}}, - }, - { - Region: models.WindscribeRegion("singapore"), - IPs: []net.IP{{103, 62, 48, 224}, {89, 187, 162, 130}, {185, 200, 117, 163}}, - }, - { - Region: models.WindscribeRegion("slovakia"), - IPs: []net.IP{{185, 245, 85, 3}}, - }, - { - Region: models.WindscribeRegion("slovenia"), - IPs: []net.IP{{146, 247, 24, 207}}, - }, - { - Region: models.WindscribeRegion("south africa"), - IPs: []net.IP{{197, 242, 156, 53}, {165, 73, 248, 91}, {197, 242, 157, 235}, {129, 232, 167, 211}}, - }, - { - Region: models.WindscribeRegion("south korea"), - IPs: []net.IP{{218, 232, 76, 179}, {103, 212, 223, 3}}, - }, - { - Region: models.WindscribeRegion("spain"), - IPs: []net.IP{{217, 138, 218, 99}, {89, 238, 178, 43}, {185, 253, 99, 131}, {37, 120, 142, 227}}, - }, - { - Region: models.WindscribeRegion("sweden"), - IPs: []net.IP{{195, 181, 166, 129}, {79, 142, 76, 198}, {31, 13, 191, 67}}, - }, - { - Region: models.WindscribeRegion("switzerland"), - IPs: []net.IP{{84, 17, 53, 2}, {37, 120, 213, 163}, {185, 156, 175, 179}, {89, 187, 165, 98}, {31, 7, 57, 242}}, - }, - { - Region: models.WindscribeRegion("thailand"), - IPs: []net.IP{{103, 253, 74, 57}, {27, 254, 130, 221}}, - }, - { - Region: models.WindscribeRegion("tunisia"), - IPs: []net.IP{{41, 231, 5, 23}}, - }, - { - Region: models.WindscribeRegion("turkey"), - IPs: []net.IP{{185, 125, 33, 227}, {45, 123, 118, 156}, {176, 53, 113, 163}, {79, 98, 131, 43}, {45, 123, 119, 11}}, - }, - { - Region: models.WindscribeRegion("ukraine"), - IPs: []net.IP{{77, 123, 146, 19}, {77, 120, 102, 65}}, - }, - { - Region: models.WindscribeRegion("united arab emirates"), - IPs: []net.IP{{45, 9, 249, 43}}, - }, - { - Region: models.WindscribeRegion("united kingdom"), - IPs: []net.IP{{89, 238, 150, 229}, {217, 138, 254, 51}, {212, 102, 63, 62}, {185, 212, 168, 133}, {212, 102, 63, 32}, {2, 58, 29, 145}, {89, 238, 131, 131}, {89, 238, 135, 133}, {84, 17, 50, 130}, {81, 92, 207, 69}}, - }, - { - Region: models.WindscribeRegion("us central"), - IPs: []net.IP{{161, 129, 70, 195}, {198, 55, 125, 195}, {107, 150, 31, 131}, {206, 217, 139, 195}, {204, 44, 112, 131}, {199, 115, 96, 83}, {107, 150, 31, 3}, {69, 12, 94, 67}, {107, 150, 31, 67}, {104, 223, 92, 163}, {198, 12, 76, 211}, {162, 222, 198, 67}, {107, 161, 86, 131}, {107, 182, 234, 240}, {67, 212, 238, 196}, {206, 217, 143, 131}}, - }, - { - Region: models.WindscribeRegion("us east"), - IPs: []net.IP{{167, 160, 172, 3}, {167, 160, 167, 195}, {162, 222, 195, 67}, {104, 168, 34, 147}, {23, 105, 170, 139}, {86, 106, 87, 83}, {173, 44, 36, 67}, {199, 217, 105, 227}, {67, 21, 32, 145}, {68, 235, 35, 172}, {199, 217, 104, 227}, {67, 219, 146, 67}, {68, 235, 50, 227}, {76, 72, 175, 99}, {173, 208, 45, 33}, {68, 235, 35, 12}, {23, 226, 141, 195}, {38, 132, 118, 227}, {23, 83, 91, 170}, {23, 82, 136, 93}, {198, 147, 22, 225}, {206, 217, 128, 3}, {156, 96, 59, 102}, {185, 232, 22, 195}, {23, 105, 170, 151}, {92, 119, 177, 83}, {107, 150, 29, 131}, {23, 82, 8, 143}, {142, 234, 200, 176}, {104, 223, 127, 195}, {198, 12, 64, 35}, {206, 217, 129, 227}}, - }, - { - Region: models.WindscribeRegion("us west"), - IPs: []net.IP{{104, 129, 3, 163}, {104, 152, 222, 33}, {172, 241, 250, 131}, {104, 129, 56, 67}, {66, 115, 176, 3}, {89, 187, 185, 34}, {64, 120, 2, 174}, {185, 236, 200, 35}, {167, 88, 60, 227}, {104, 129, 56, 131}, {82, 102, 30, 67}, {23, 83, 131, 187}, {37, 120, 147, 163}, {198, 23, 242, 147}, {209, 58, 129, 121}, {23, 83, 130, 166}, {23, 94, 74, 99}, {192, 3, 20, 51}, {167, 88, 60, 243}, {217, 138, 217, 51}, {198, 12, 116, 195}, {172, 241, 214, 202}, {217, 138, 217, 211}, {172, 255, 125, 141}, {104, 129, 3, 67}, {216, 45, 53, 131}}, - }, - { - Region: models.WindscribeRegion("vietnam"), - IPs: []net.IP{{103, 9, 76, 197}}, - }, - { - Region: models.WindscribeRegion("windflix ca"), - IPs: []net.IP{{104, 254, 92, 99}, {104, 218, 60, 111}}, - }, - { - Region: models.WindscribeRegion("windflix jp"), - IPs: []net.IP{{5, 181, 235, 67}}, - }, - { - Region: models.WindscribeRegion("windflix uk"), - IPs: []net.IP{{45, 9, 248, 3}, {81, 92, 200, 85}, {89, 47, 62, 83}}, - }, - { - Region: models.WindscribeRegion("windflix us"), - IPs: []net.IP{{185, 232, 22, 131}, {38, 132, 122, 195}, {38, 132, 101, 179}, {217, 138, 206, 211}, {38, 132, 101, 211}, {38, 132, 122, 131}}, - }, + {Region: models.WindscribeRegion("albania"), IPs: []net.IP{{31, 171, 152, 179}}}, + {Region: models.WindscribeRegion("argentina"), IPs: []net.IP{{167, 250, 6, 121}, {190, 105, 236, 19}, {190, 105, 236, 32}, {190, 105, 236, 50}}}, + {Region: models.WindscribeRegion("australia"), IPs: []net.IP{{43, 245, 160, 35}, {45, 121, 208, 160}, {45, 121, 209, 160}, {45, 121, 210, 208}, {103, 62, 50, 208}, {103, 77, 233, 67}, {103, 77, 234, 211}, {103, 108, 92, 83}, {116, 90, 72, 243}, {116, 206, 228, 67}, {116, 206, 229, 131}}}, + {Region: models.WindscribeRegion("austria"), IPs: []net.IP{{89, 187, 168, 66}, {217, 64, 127, 11}}}, + {Region: models.WindscribeRegion("azerbaijan"), IPs: []net.IP{{85, 132, 61, 123}}}, + {Region: models.WindscribeRegion("belgium"), IPs: []net.IP{{185, 232, 21, 131}, {194, 187, 251, 147}}}, + {Region: models.WindscribeRegion("bosnia"), IPs: []net.IP{{185, 99, 3, 24}}}, + {Region: models.WindscribeRegion("brazil"), IPs: []net.IP{{177, 54, 144, 68}, {177, 67, 80, 59}, {189, 1, 172, 12}}}, + {Region: models.WindscribeRegion("bulgaria"), IPs: []net.IP{{185, 94, 192, 35}}}, + {Region: models.WindscribeRegion("canada east"), IPs: []net.IP{{23, 154, 160, 177}, {66, 70, 148, 80}, {104, 227, 235, 129}, {104, 254, 92, 11}, {104, 254, 92, 91}, {144, 168, 163, 160}, {144, 168, 163, 193}, {184, 75, 212, 91}, {192, 190, 19, 65}, {192, 190, 19, 97}, {198, 8, 85, 195}, {198, 8, 85, 210}, {199, 204, 208, 158}}}, + {Region: models.WindscribeRegion("canada west"), IPs: []net.IP{{104, 218, 61, 1}, {104, 218, 61, 33}, {162, 221, 207, 95}, {208, 78, 41, 1}, {208, 78, 41, 131}, {208, 78, 41, 163}}}, + {Region: models.WindscribeRegion("colombia"), IPs: []net.IP{{138, 121, 203, 203}, {138, 186, 141, 155}}}, + {Region: models.WindscribeRegion("croatia"), IPs: []net.IP{{85, 10, 56, 252}}}, + {Region: models.WindscribeRegion("cyprus"), IPs: []net.IP{{157, 97, 132, 43}}}, + {Region: models.WindscribeRegion("czech republic"), IPs: []net.IP{{185, 156, 174, 11}, {185, 246, 210, 2}}}, + {Region: models.WindscribeRegion("denmark"), IPs: []net.IP{{134, 90, 149, 147}, {185, 206, 224, 195}}}, + {Region: models.WindscribeRegion("estonia"), IPs: []net.IP{{46, 22, 211, 251}, {196, 196, 216, 131}}}, + {Region: models.WindscribeRegion("fake antarctica"), IPs: []net.IP{{23, 154, 160, 212}, {23, 154, 160, 222}}}, + {Region: models.WindscribeRegion("finland"), IPs: []net.IP{{185, 112, 82, 227}, {194, 34, 133, 82}}}, + {Region: models.WindscribeRegion("france"), IPs: []net.IP{{45, 89, 174, 35}, {82, 102, 18, 35}, {84, 17, 42, 2}, {84, 17, 42, 34}, {185, 156, 173, 187}}}, + {Region: models.WindscribeRegion("georgia"), IPs: []net.IP{{188, 93, 90, 83}}}, + {Region: models.WindscribeRegion("germany"), IPs: []net.IP{{45, 87, 212, 51}, {89, 249, 65, 19}, {185, 130, 184, 195}, {195, 181, 170, 66}, {195, 181, 175, 98}, {217, 138, 194, 115}}}, + {Region: models.WindscribeRegion("greece"), IPs: []net.IP{{78, 108, 38, 155}, {185, 226, 64, 111}, {188, 123, 126, 146}}}, + {Region: models.WindscribeRegion("hong kong"), IPs: []net.IP{{84, 17, 57, 114}, {103, 10, 197, 99}}}, + {Region: models.WindscribeRegion("hungary"), IPs: []net.IP{{185, 104, 187, 43}}}, + {Region: models.WindscribeRegion("iceland"), IPs: []net.IP{{82, 221, 139, 38}, {185, 165, 170, 2}}}, + {Region: models.WindscribeRegion("india"), IPs: []net.IP{{103, 205, 140, 227}, {169, 38, 68, 188}, {169, 38, 72, 12}, {169, 38, 72, 14}}}, + {Region: models.WindscribeRegion("indonesia"), IPs: []net.IP{{45, 127, 134, 91}}}, + {Region: models.WindscribeRegion("ireland"), IPs: []net.IP{{185, 24, 232, 146}, {185, 104, 219, 2}}}, + {Region: models.WindscribeRegion("israel"), IPs: []net.IP{{160, 116, 0, 27}, {185, 191, 205, 139}}}, + {Region: models.WindscribeRegion("italy"), IPs: []net.IP{{37, 120, 135, 83}, {37, 120, 207, 19}, {84, 17, 59, 66}, {87, 101, 94, 195}, {89, 40, 182, 3}}}, + {Region: models.WindscribeRegion("japan"), IPs: []net.IP{{89, 187, 161, 114}, {193, 148, 16, 243}}}, + {Region: models.WindscribeRegion("latvia"), IPs: []net.IP{{85, 254, 72, 23}}}, + {Region: models.WindscribeRegion("lithuania"), IPs: []net.IP{{85, 206, 163, 225}}}, + {Region: models.WindscribeRegion("macedonia"), IPs: []net.IP{{185, 225, 28, 51}}}, + {Region: models.WindscribeRegion("malaysia"), IPs: []net.IP{{103, 106, 250, 31}, {103, 212, 69, 232}}}, + {Region: models.WindscribeRegion("mexico"), IPs: []net.IP{{143, 255, 57, 67}, {190, 103, 179, 211}, {190, 103, 179, 217}, {201, 131, 125, 107}}}, + {Region: models.WindscribeRegion("moldova"), IPs: []net.IP{{178, 175, 144, 123}}}, + {Region: models.WindscribeRegion("netherlands"), IPs: []net.IP{{37, 120, 192, 19}, {46, 166, 143, 98}, {72, 11, 157, 35}, {72, 11, 157, 67}, {84, 17, 46, 2}, {185, 212, 171, 131}, {185, 253, 96, 3}}}, + {Region: models.WindscribeRegion("new zealand"), IPs: []net.IP{{103, 62, 49, 113}, {103, 108, 94, 163}}}, + {Region: models.WindscribeRegion("norway"), IPs: []net.IP{{37, 120, 203, 67}, {185, 206, 225, 131}}}, + {Region: models.WindscribeRegion("philippines"), IPs: []net.IP{{103, 103, 0, 118}}}, + {Region: models.WindscribeRegion("poland"), IPs: []net.IP{{5, 133, 11, 116}, {84, 17, 55, 98}, {185, 244, 214, 35}}}, + {Region: models.WindscribeRegion("portugal"), IPs: []net.IP{{94, 46, 13, 215}, {185, 15, 21, 66}}}, + {Region: models.WindscribeRegion("romania"), IPs: []net.IP{{89, 46, 103, 147}, {91, 207, 102, 147}}}, + {Region: models.WindscribeRegion("russia"), IPs: []net.IP{{94, 242, 62, 19}, {94, 242, 62, 67}, {95, 213, 193, 195}, {95, 213, 193, 227}, {185, 22, 175, 132}, {188, 124, 42, 99}, {188, 124, 42, 115}}}, + {Region: models.WindscribeRegion("serbia"), IPs: []net.IP{{141, 98, 103, 19}}}, + {Region: models.WindscribeRegion("singapore"), IPs: []net.IP{{82, 102, 25, 131}, {89, 187, 162, 130}, {103, 62, 48, 224}, {185, 200, 117, 163}}}, + {Region: models.WindscribeRegion("slovakia"), IPs: []net.IP{{185, 245, 85, 3}}}, + {Region: models.WindscribeRegion("slovenia"), IPs: []net.IP{{146, 247, 24, 207}}}, + {Region: models.WindscribeRegion("south africa"), IPs: []net.IP{{129, 232, 167, 211}, {165, 73, 248, 91}, {197, 242, 156, 53}, {197, 242, 157, 235}}}, + {Region: models.WindscribeRegion("south korea"), IPs: []net.IP{{103, 212, 223, 3}, {218, 232, 76, 179}}}, + {Region: models.WindscribeRegion("spain"), IPs: []net.IP{{37, 120, 142, 227}, {89, 238, 178, 43}, {185, 253, 99, 131}, {217, 138, 218, 99}}}, + {Region: models.WindscribeRegion("sweden"), IPs: []net.IP{{31, 13, 191, 67}, {195, 181, 166, 129}}}, + {Region: models.WindscribeRegion("switzerland"), IPs: []net.IP{{31, 7, 57, 242}, {37, 120, 213, 163}, {84, 17, 53, 2}, {89, 187, 165, 98}, {185, 156, 175, 179}}}, + {Region: models.WindscribeRegion("thailand"), IPs: []net.IP{{27, 254, 130, 221}}}, + {Region: models.WindscribeRegion("tunisia"), IPs: []net.IP{{41, 231, 5, 23}}}, + {Region: models.WindscribeRegion("turkey"), IPs: []net.IP{{45, 123, 118, 156}, {45, 123, 119, 11}, {79, 98, 131, 43}, {176, 53, 113, 163}, {185, 125, 33, 227}}}, + {Region: models.WindscribeRegion("ukraine"), IPs: []net.IP{{45, 141, 156, 11}, {45, 141, 156, 50}}}, + {Region: models.WindscribeRegion("united arab emirates"), IPs: []net.IP{{45, 9, 249, 43}}}, + {Region: models.WindscribeRegion("united kingdom"), IPs: []net.IP{{2, 58, 29, 17}, {81, 92, 207, 69}, {84, 17, 50, 130}, {89, 238, 131, 131}, {89, 238, 135, 133}, {89, 238, 150, 229}, {185, 212, 168, 133}, {212, 102, 63, 32}, {212, 102, 63, 62}, {217, 138, 254, 51}}}, + {Region: models.WindscribeRegion("us central"), IPs: []net.IP{{67, 212, 238, 196}, {69, 12, 94, 67}, {104, 129, 18, 3}, {104, 223, 92, 163}, {107, 150, 31, 67}, {107, 150, 31, 131}, {107, 161, 86, 131}, {107, 182, 234, 240}, {161, 129, 70, 195}, {162, 222, 198, 67}, {172, 241, 26, 78}, {172, 241, 131, 129}, {198, 12, 76, 211}, {198, 54, 128, 116}, {198, 55, 125, 195}, {199, 115, 96, 83}, {204, 44, 112, 131}, {206, 217, 139, 19}, {206, 217, 143, 131}}}, + {Region: models.WindscribeRegion("us east"), IPs: []net.IP{{23, 82, 136, 93}, {23, 83, 91, 170}, {23, 105, 170, 139}, {23, 226, 141, 195}, {38, 132, 118, 227}, {67, 21, 32, 145}, {68, 235, 35, 12}, {68, 235, 50, 227}, {86, 106, 87, 83}, {104, 168, 34, 147}, {104, 223, 127, 195}, {107, 150, 29, 131}, {142, 234, 200, 176}, {156, 96, 59, 102}, {162, 222, 195, 67}, {167, 160, 167, 195}, {167, 160, 172, 3}, {173, 44, 36, 67}, {173, 208, 45, 33}, {185, 232, 22, 195}, {198, 12, 64, 35}, {198, 147, 22, 225}, {206, 217, 128, 3}, {206, 217, 129, 227}, {217, 138, 255, 179}}}, + {Region: models.WindscribeRegion("us west"), IPs: []net.IP{{23, 83, 130, 166}, {23, 83, 131, 187}, {23, 94, 74, 99}, {37, 120, 147, 163}, {64, 120, 2, 174}, {66, 115, 176, 3}, {82, 102, 30, 67}, {89, 187, 185, 34}, {89, 187, 187, 98}, {104, 129, 3, 67}, {104, 129, 3, 163}, {104, 129, 56, 67}, {104, 129, 56, 131}, {104, 152, 222, 33}, {167, 88, 60, 227}, {167, 88, 60, 243}, {172, 241, 214, 202}, {172, 241, 250, 131}, {172, 255, 125, 141}, {185, 236, 200, 35}, {192, 3, 20, 51}, {198, 12, 116, 195}, {198, 23, 242, 147}, {209, 58, 129, 121}, {216, 45, 53, 131}, {217, 138, 217, 51}, {217, 138, 217, 211}}}, + {Region: models.WindscribeRegion("vietnam"), IPs: []net.IP{{103, 9, 76, 197}, {103, 9, 79, 186}, {103, 9, 79, 219}}}, + {Region: models.WindscribeRegion("windflix ca"), IPs: []net.IP{{104, 218, 60, 111}, {104, 254, 92, 99}}}, + {Region: models.WindscribeRegion("windflix jp"), IPs: []net.IP{{5, 181, 235, 67}}}, + {Region: models.WindscribeRegion("windflix uk"), IPs: []net.IP{{45, 9, 248, 3}, {81, 92, 200, 85}, {89, 47, 62, 83}}}, + {Region: models.WindscribeRegion("windflix us"), IPs: []net.IP{{23, 105, 170, 130}, {23, 105, 170, 151}, {185, 232, 22, 131}, {204, 44, 112, 67}, {217, 138, 206, 211}}}, } }