From 4fe1e062f215f9f57a5b2a3ca55c94ac38b5a8a6 Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Sun, 9 May 2021 16:49:22 +0000 Subject: [PATCH] Feature: filter PIA servers by hostname and name --- .../configuration/privateinternetaccess.go | 18 + internal/constants/pia.go | 672 +++++++++--------- internal/constants/servers.go | 4 +- internal/constants/servers_test.go | 4 +- internal/models/server.go | 5 +- internal/provider/piav4.go | 31 +- internal/updater/providers/pia/api.go | 1 + internal/updater/providers/pia/servers.go | 9 +- internal/updater/providers/pia/sort.go | 5 +- 9 files changed, 400 insertions(+), 349 deletions(-) diff --git a/internal/configuration/privateinternetaccess.go b/internal/configuration/privateinternetaccess.go index 82e69d0c..288a15eb 100644 --- a/internal/configuration/privateinternetaccess.go +++ b/internal/configuration/privateinternetaccess.go @@ -12,6 +12,14 @@ func (settings *Provider) privateinternetaccessLines() (lines []string) { lines = append(lines, lastIndent+"Regions: "+commaJoin(settings.ServerSelection.Regions)) } + if len(settings.ServerSelection.Hostnames) > 0 { + lines = append(lines, lastIndent+"Hostnames: "+commaJoin(settings.ServerSelection.Hostnames)) + } + + if len(settings.ServerSelection.Names) > 0 { + lines = append(lines, lastIndent+"Names: "+commaJoin(settings.ServerSelection.Names)) + } + lines = append(lines, lastIndent+"Encryption preset: "+settings.ServerSelection.EncryptionPreset) lines = append(lines, lastIndent+"Custom port: "+strconv.Itoa(int(settings.ServerSelection.CustomPort))) @@ -55,6 +63,16 @@ func (settings *Provider) readPrivateInternetAccess(r reader) (err error) { return err } + settings.ServerSelection.Hostnames, err = r.env.CSVInside("SERVER_HOSTNAME", constants.PIAHostnameChoices()) + if err != nil { + return err + } + + settings.ServerSelection.Hostnames, err = r.env.CSVInside("SERVER_NAME", constants.PIANameChoices()) + if err != nil { + return err + } + settings.ServerSelection.CustomPort, err = readPortOrZero(r.env, "PORT") if err != nil { return err diff --git a/internal/constants/pia.go b/internal/constants/pia.go index 269e1de6..de4dc324 100644 --- a/internal/constants/pia.go +++ b/internal/constants/pia.go @@ -25,342 +25,348 @@ func PIAGeoChoices() (choices []string) { return makeUnique(choices) } +func PIAHostnameChoices() (choices []string) { + servers := PIAServers() + choices = make([]string, len(servers)) + for i := range servers { + choices[i] = servers[i].Hostname + } + return makeUnique(choices) +} + +func PIANameChoices() (choices []string) { + servers := PIAServers() + choices = make([]string, len(servers)) + for i := range servers { + choices[i] = servers[i].ServerName + } + return makeUnique(choices) +} + //nolint:lll // PIAServers returns a slice of all the server information for PIA. func PIAServers() []models.PIAServer { return []models.PIAServer{ - {Region: "AU Melbourne", ServerName: "melbourne402", TCP: true, UDP: true, PortForward: true, IP: net.IP{27, 50, 74, 233}}, - {Region: "AU Melbourne", ServerName: "melbourne407", TCP: true, UDP: true, PortForward: true, IP: net.IP{27, 50, 74, 166}}, - {Region: "AU Melbourne", ServerName: "melbourne411", TCP: true, UDP: true, PortForward: true, IP: net.IP{43, 242, 68, 234}}, - {Region: "AU Melbourne", ServerName: "melbourne413", TCP: true, UDP: true, PortForward: true, IP: net.IP{27, 50, 74, 125}}, - {Region: "AU Melbourne", ServerName: "melbourne414", TCP: true, UDP: true, PortForward: true, IP: net.IP{27, 50, 74, 103}}, - {Region: "AU Perth", ServerName: "perth403", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 228, 7}}, - {Region: "AU Perth", ServerName: "perth404", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 228, 67}}, - {Region: "AU Perth", ServerName: "perth405", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 228, 134}}, - {Region: "AU Sydney", ServerName: "sydney401", TCP: true, UDP: true, PortForward: true, IP: net.IP{103, 2, 196, 170}}, - {Region: "AU Sydney", ServerName: "sydney403", TCP: true, UDP: true, PortForward: true, IP: net.IP{180, 92, 192, 155}}, - {Region: "AU Sydney", ServerName: "sydney404", TCP: true, UDP: false, PortForward: true, IP: net.IP{27, 50, 76, 173}}, - {Region: "AU Sydney", ServerName: "sydney406", TCP: false, UDP: true, PortForward: true, IP: net.IP{202, 130, 32, 29}}, - {Region: "AU Sydney", ServerName: "sydney414", TCP: true, UDP: true, PortForward: true, IP: net.IP{27, 50, 76, 108}}, - {Region: "AU Sydney", ServerName: "sydney415", TCP: true, UDP: true, PortForward: true, IP: net.IP{27, 50, 76, 115}}, - {Region: "Albania", ServerName: "tirana401", TCP: true, UDP: true, PortForward: true, IP: net.IP{31, 171, 154, 135}}, - {Region: "Albania", ServerName: "tirana402", TCP: true, UDP: true, PortForward: true, IP: net.IP{31, 171, 154, 125}}, - {Region: "Albania", ServerName: "tirana403", TCP: true, UDP: true, PortForward: true, IP: net.IP{31, 171, 154, 68}}, - {Region: "Albania", ServerName: "tirana404", TCP: true, UDP: true, PortForward: true, IP: net.IP{31, 171, 154, 56}}, - {Region: "Algeria", ServerName: "algiers404", TCP: true, UDP: true, PortForward: true, IP: net.IP{176, 125, 228, 15}}, - {Region: "Andorra", ServerName: "andorra403", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 82, 13}}, - {Region: "Andorra", ServerName: "andorra404", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 82, 25}}, - {Region: "Andorra", ServerName: "andorra405", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 82, 35}}, - {Region: "Argentina", ServerName: "buenosaires401", TCP: true, UDP: true, PortForward: true, IP: net.IP{190, 106, 134, 84}}, - {Region: "Argentina", ServerName: "buenosaires402", TCP: true, UDP: true, PortForward: true, IP: net.IP{190, 106, 134, 115}}, - {Region: "Armenia", ServerName: "armenia403", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 253, 160, 4}}, - {Region: "Austria", ServerName: "vienna402", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 60, 25}}, - {Region: "Austria", ServerName: "vienna403", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 60, 65}}, - {Region: "Bahamas", ServerName: "bahamas403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 238, 16}}, - {Region: "Bahamas", ServerName: "bahamas404", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 238, 4}}, - {Region: "Bahamas", ServerName: "bahamas405", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 238, 30}}, - {Region: "Bahamas", ServerName: "bahamas406", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 238, 46}}, - {Region: "Bangladesh", ServerName: "bangladesh403", TCP: true, UDP: true, PortForward: true, IP: net.IP{84, 252, 93, 3}}, - {Region: "Belgium", ServerName: "brussels402", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 211, 250}}, - {Region: "Belgium", ServerName: "brussels403", TCP: true, UDP: true, PortForward: true, IP: net.IP{5, 253, 205, 146}}, - {Region: "Belgium", ServerName: "brussels405", TCP: false, UDP: true, PortForward: true, IP: net.IP{194, 110, 115, 4}}, - {Region: "Belgium", ServerName: "brussels406", TCP: true, UDP: false, PortForward: true, IP: net.IP{194, 110, 115, 24}}, - {Region: "Belgium", ServerName: "brussels408", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 123, 35}}, - {Region: "Belgium", ServerName: "brussels413", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 123, 89}}, - {Region: "Bosnia and Herzegovina", ServerName: "sarajevo402", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 212, 111, 64}}, - {Region: "Brazil", ServerName: "saopaolo401", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 180, 235}}, - {Region: "Brazil", ServerName: "saopaolo402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 177, 54}}, - {Region: "Brazil", ServerName: "saopaolo403", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 177, 124}}, - {Region: "Brazil", ServerName: "saopaolo404", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 180, 248}}, - {Region: "Bulgaria", ServerName: "sofia402", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 221, 83}}, - {Region: "Bulgaria", ServerName: "sofia403", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 221, 70}}, - {Region: "CA Montreal", ServerName: "montreal402", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 71, 83}}, - {Region: "CA Montreal", ServerName: "montreal404", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 71, 136}}, - {Region: "CA Montreal", ServerName: "montreal406", TCP: true, UDP: true, PortForward: true, IP: net.IP{199, 36, 223, 38}}, - {Region: "CA Montreal", ServerName: "montreal409", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 68, 13}}, - {Region: "CA Montreal", ServerName: "montreal410", TCP: true, UDP: true, PortForward: true, IP: net.IP{199, 36, 223, 216}}, - {Region: "CA Ontario", ServerName: "ontario401", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 83, 47, 124}}, - {Region: "CA Ontario", ServerName: "ontario402", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 83, 47, 176}}, - {Region: "CA Ontario", ServerName: "ontario403", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 92, 49}}, - {Region: "CA Ontario", ServerName: "ontario404", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 83, 47, 17}}, - {Region: "CA Ontario", ServerName: "ontario408", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 92, 94}}, - {Region: "CA Toronto", ServerName: "toronto403", TCP: true, UDP: true, PortForward: true, IP: net.IP{66, 115, 142, 97}}, - {Region: "CA Toronto", ServerName: "toronto415", TCP: true, UDP: false, PortForward: true, IP: net.IP{154, 3, 40, 44}}, - {Region: "CA Toronto", ServerName: "toronto416", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 3, 40, 85}}, - {Region: "CA Toronto", ServerName: "toronto418", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 3, 40, 149}}, - {Region: "CA Toronto", ServerName: "toronto422", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 3, 42, 14}}, - {Region: "CA Toronto", ServerName: "toronto424", TCP: false, UDP: true, PortForward: true, IP: net.IP{154, 3, 42, 65}}, - {Region: "CA Vancouver", ServerName: "vancouver401", TCP: false, UDP: true, PortForward: true, IP: net.IP{162, 216, 47, 34}}, - {Region: "CA Vancouver", ServerName: "vancouver405", TCP: true, UDP: true, PortForward: true, IP: net.IP{162, 216, 47, 156}}, - {Region: "CA Vancouver", ServerName: "vancouver406", TCP: true, UDP: true, PortForward: true, IP: net.IP{162, 216, 47, 235}}, - {Region: "CA Vancouver", ServerName: "vancouver408", TCP: true, UDP: true, PortForward: true, IP: net.IP{208, 78, 42, 28}}, - {Region: "CA Vancouver", ServerName: "vancouver409", TCP: true, UDP: false, PortForward: true, IP: net.IP{172, 98, 89, 223}}, - {Region: "CA Vancouver", ServerName: "vancouver412", TCP: true, UDP: true, PortForward: true, IP: net.IP{208, 78, 42, 237}}, - {Region: "Cambodia", ServerName: "cambodia401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 215, 235, 103}}, - {Region: "Cambodia", ServerName: "cambodia402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 215, 235, 116}}, - {Region: "China", ServerName: "china404", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 80, 7}}, - {Region: "Croatia", ServerName: "zagreb402", TCP: true, UDP: true, PortForward: true, IP: net.IP{146, 70, 8, 136}}, - {Region: "Cyprus", ServerName: "cyprus403", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 253, 162, 4}}, - {Region: "Czech Republic", ServerName: "prague401", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 39, 95}}, - {Region: "Czech Republic", ServerName: "prague402", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 39, 137}}, - {Region: "Czech Republic", ServerName: "prague403", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 39, 68}}, - {Region: "DE Berlin", ServerName: "berlin420", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 13, 1, 68}}, - {Region: "DE Berlin", ServerName: "berlin421", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 13, 1, 85}}, - {Region: "DE Berlin", ServerName: "berlin422", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 13, 1, 95}}, - {Region: "DE Berlin", ServerName: "berlin424", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 13, 1, 133}}, - {Region: "DE Berlin", ServerName: "berlin425", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 13, 1, 146}}, - {Region: "DE Frankfurt", ServerName: "frankfurt405", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 57, 15}}, - {Region: "DE Frankfurt", ServerName: "frankfurt406", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 57, 66}}, - {Region: "DE Frankfurt", ServerName: "frankfurt407", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 18, 157}}, - {Region: "DE Frankfurt", ServerName: "frankfurt408", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 18, 66}}, - {Region: "DE Frankfurt", ServerName: "frankfurt410", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 57, 143}}, - {Region: "Denmark", ServerName: "copenhagen402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 94, 78}}, - {Region: "Denmark", ServerName: "copenhagen403", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 94, 105}}, - {Region: "Denmark", ServerName: "copenhagen404", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 94, 164}}, - {Region: "Denmark", ServerName: "copenhagen405", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 94, 54}}, - {Region: "Egypt", ServerName: "cairo401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 122, 100}}, - {Region: "Egypt", ServerName: "cairo402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 122, 115}}, - {Region: "Estonia", ServerName: "talinn401", TCP: true, UDP: true, PortForward: true, IP: net.IP{77, 247, 111, 134}}, - {Region: "Estonia", ServerName: "talinn402", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 153, 31, 67}}, - {Region: "Finland", ServerName: "helsinki401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 89, 7}}, - {Region: "Finland", ServerName: "helsinki402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 89, 35}}, - {Region: "Finland", ServerName: "helsinki404", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 89, 84}}, - {Region: "France", ServerName: "paris402", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 63, 140}}, - {Region: "France", ServerName: "paris404", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 63, 15}}, - {Region: "France", ServerName: "paris410", TCP: true, UDP: true, PortForward: true, IP: net.IP{191, 101, 217, 34}}, - {Region: "France", ServerName: "paris411", TCP: true, UDP: true, PortForward: true, IP: net.IP{191, 101, 31, 35}}, - {Region: "France", ServerName: "paris412", TCP: true, UDP: true, PortForward: true, IP: net.IP{191, 101, 31, 47}}, - {Region: "Greece", ServerName: "athens401", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 57, 3, 83}}, - {Region: "Greece", ServerName: "athens402", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 57, 3, 99}}, - {Region: "Greenland", ServerName: "greenland403", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 120, 143}}, - {Region: "Greenland", ServerName: "greenland404", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 120, 156}}, - {Region: "Greenland", ServerName: "greenland405", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 120, 163}}, - {Region: "Greenland", ServerName: "greenland406", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 120, 188}}, - {Region: "Hong Kong", ServerName: "china403", TCP: true, UDP: true, PortForward: true, IP: net.IP{86, 107, 104, 214}}, - {Region: "Hong Kong", ServerName: "hongkong402", TCP: true, UDP: true, PortForward: true, IP: net.IP{86, 107, 104, 245}}, - {Region: "Hong Kong", ServerName: "hongkong403", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 219, 213, 30}}, - {Region: "Hungary", ServerName: "budapest401", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 192, 219}}, - {Region: "Hungary", ServerName: "budapest402", TCP: true, UDP: true, PortForward: true, IP: net.IP{86, 106, 74, 120}}, - {Region: "Iceland", ServerName: "reykjavik404", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 193, 59}}, - {Region: "India", ServerName: "mumbai401", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 120, 139, 38}}, - {Region: "India", ServerName: "mumbai402", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 120, 139, 134}}, - {Region: "India", ServerName: "mumbai403", TCP: true, UDP: true, PortForward: true, IP: net.IP{103, 150, 187, 7}}, - {Region: "India", ServerName: "mumbai407", TCP: true, UDP: true, PortForward: true, IP: net.IP{103, 150, 187, 23}}, - {Region: "Ireland", ServerName: "dublin405", TCP: true, UDP: true, PortForward: true, IP: net.IP{193, 56, 252, 8}}, - {Region: "Ireland", ServerName: "dublin406", TCP: true, UDP: true, PortForward: true, IP: net.IP{193, 56, 252, 215}}, - {Region: "Ireland", ServerName: "dublin409", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 178, 38}}, - {Region: "Ireland", ServerName: "dublin410", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 178, 8}}, - {Region: "Ireland", ServerName: "dublin411", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 178, 20}}, - {Region: "Isle of Man", ServerName: "douglas403", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 124, 4}}, - {Region: "Israel", ServerName: "jerusalem401", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 77, 248, 13}}, - {Region: "Israel", ServerName: "jerusalem402", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 77, 248, 23}}, - {Region: "Israel", ServerName: "jerusalem404", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 77, 248, 64}}, - {Region: "Israel", ServerName: "jerusalem405", TCP: true, UDP: false, PortForward: true, IP: net.IP{185, 77, 248, 70}}, - {Region: "Israel", ServerName: "jerusalem406", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 77, 248, 78}}, - {Region: "Israel", ServerName: "jerusalem407", TCP: false, UDP: true, PortForward: true, IP: net.IP{185, 77, 248, 94}}, - {Region: "Italy", ServerName: "milano402", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 41, 4}}, - {Region: "Italy", ServerName: "milano403", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 41, 93}}, - {Region: "Italy", ServerName: "milano404", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 41, 194}}, - {Region: "JP Streaming Optimized", ServerName: "tokyo410", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 39, 4}}, - {Region: "JP Tokyo", ServerName: "tokyo401", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 34, 145}}, - {Region: "JP Tokyo", ServerName: "tokyo402", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 34, 89}}, - {Region: "JP Tokyo", ServerName: "tokyo403", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 34, 30}}, - {Region: "Kazakhstan", ServerName: "kazakhstan403", TCP: true, UDP: true, PortForward: true, IP: net.IP{62, 133, 47, 4}}, - {Region: "Latvia", ServerName: "riga401", TCP: true, UDP: true, PortForward: true, IP: net.IP{109, 248, 149, 13}}, - {Region: "Latvia", ServerName: "riga402", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 183, 218, 139}}, - {Region: "Latvia", ServerName: "riga403", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 183, 218, 153}}, - {Region: "Liechtenstein", ServerName: "liechtenstein403", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 122, 4}}, - {Region: "Lithuania", ServerName: "vilnius401", TCP: true, UDP: true, PortForward: true, IP: net.IP{85, 206, 165, 175}}, - {Region: "Lithuania", ServerName: "vilnius402", TCP: true, UDP: true, PortForward: true, IP: net.IP{85, 206, 165, 99}}, - {Region: "Lithuania", ServerName: "vilnius403", TCP: true, UDP: true, PortForward: true, IP: net.IP{85, 206, 165, 117}}, - {Region: "Luxembourg", ServerName: "luxembourg404", TCP: true, UDP: true, PortForward: true, IP: net.IP{5, 253, 204, 105}}, - {Region: "Luxembourg", ServerName: "luxembourg405", TCP: true, UDP: true, PortForward: true, IP: net.IP{5, 253, 204, 117}}, - {Region: "Luxembourg", ServerName: "luxembourg406", TCP: true, UDP: true, PortForward: true, IP: net.IP{5, 253, 204, 139}}, - {Region: "Luxembourg", ServerName: "luxembourg407", TCP: true, UDP: true, PortForward: true, IP: net.IP{5, 253, 204, 149}}, - {Region: "Macao", ServerName: "macau403", TCP: true, UDP: true, PortForward: true, IP: net.IP{84, 252, 92, 13}}, - {Region: "Macedonia", ServerName: "macedonia401", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 225, 28, 115}}, - {Region: "Macedonia", ServerName: "macedonia402", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 225, 28, 137}}, - {Region: "Malta", ServerName: "malta403", TCP: true, UDP: true, PortForward: true, IP: net.IP{176, 125, 230, 4}}, - {Region: "Mexico", ServerName: "mexico404", TCP: true, UDP: false, PortForward: true, IP: net.IP{77, 81, 142, 28}}, - {Region: "Mexico", ServerName: "mexico407", TCP: true, UDP: true, PortForward: true, IP: net.IP{77, 81, 142, 69}}, - {Region: "Mexico", ServerName: "mexico408", TCP: true, UDP: true, PortForward: true, IP: net.IP{77, 81, 142, 87}}, - {Region: "Mexico", ServerName: "mexico409", TCP: true, UDP: true, PortForward: true, IP: net.IP{77, 81, 142, 96}}, - {Region: "Mexico", ServerName: "mexico411", TCP: false, UDP: true, PortForward: true, IP: net.IP{77, 81, 142, 120}}, - {Region: "Mexico", ServerName: "mexico412", TCP: true, UDP: true, PortForward: true, IP: net.IP{77, 81, 142, 197}}, - {Region: "Moldova", ServerName: "chisinau401", TCP: true, UDP: true, PortForward: true, IP: net.IP{178, 175, 129, 44}}, - {Region: "Moldova", ServerName: "chisinau402", TCP: true, UDP: true, PortForward: true, IP: net.IP{178, 175, 128, 36}}, - {Region: "Monaco", ServerName: "monaco403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 233, 7}}, - {Region: "Mongolia", ServerName: "mongolia403", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 253, 163, 10}}, - {Region: "Mongolia", ServerName: "mongolia404", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 253, 163, 28}}, - {Region: "Montenegro", ServerName: "montenegro403", TCP: true, UDP: true, PortForward: true, IP: net.IP{176, 125, 229, 4}}, - {Region: "Morocco", ServerName: "morocco403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 232, 7}}, - {Region: "Netherlands", ServerName: "amsterdam402", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 34, 135}}, - {Region: "Netherlands", ServerName: "amsterdam425", TCP: true, UDP: true, PortForward: true, IP: net.IP{195, 78, 54, 64}}, - {Region: "Netherlands", ServerName: "amsterdam427", TCP: true, UDP: true, PortForward: true, IP: net.IP{181, 214, 206, 58}}, - {Region: "Netherlands", ServerName: "amsterdam431", TCP: true, UDP: true, PortForward: true, IP: net.IP{181, 214, 206, 140}}, - {Region: "Netherlands", ServerName: "amsterdam434", TCP: true, UDP: true, PortForward: true, IP: net.IP{181, 214, 206, 199}}, - {Region: "New Zealand", ServerName: "newzealand403", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 240, 53}}, - {Region: "New Zealand", ServerName: "newzealand404", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 240, 100}}, - {Region: "New Zealand", ServerName: "newzealand405", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 240, 134}}, - {Region: "Nigeria", ServerName: "nigeria404", TCP: true, UDP: true, PortForward: true, IP: net.IP{102, 165, 25, 125}}, - {Region: "Norway", ServerName: "oslo401", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 246, 122, 54}}, - {Region: "Norway", ServerName: "oslo402", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 246, 122, 79}}, - {Region: "Norway", ServerName: "oslo403", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 246, 122, 114}}, - {Region: "Norway", ServerName: "oslo404", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 246, 122, 167}}, - {Region: "Panama", ServerName: "panama403", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 126, 7}}, - {Region: "Panama", ServerName: "panama404", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 126, 31}}, - {Region: "Panama", ServerName: "panama405", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 126, 45}}, - {Region: "Philippines", ServerName: "philippines401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 125, 138}}, - {Region: "Philippines", ServerName: "philippines402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 125, 158}}, - {Region: "Poland", ServerName: "warsaw401", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 209, 245}}, - {Region: "Poland", ServerName: "warsaw402", TCP: true, UDP: true, PortForward: true, IP: net.IP{194, 110, 114, 7}}, - {Region: "Poland", ServerName: "warsaw405", TCP: true, UDP: true, PortForward: true, IP: net.IP{194, 110, 114, 58}}, - {Region: "Poland", ServerName: "warsaw409", TCP: true, UDP: true, PortForward: true, IP: net.IP{194, 110, 114, 126}}, - {Region: "Poland", ServerName: "warsaw410", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 59, 43}}, - {Region: "Portugal", ServerName: "lisbon401", TCP: true, UDP: true, PortForward: true, IP: net.IP{89, 26, 241, 77}}, - {Region: "Portugal", ServerName: "lisbon402", TCP: true, UDP: true, PortForward: true, IP: net.IP{89, 26, 241, 87}}, - {Region: "Portugal", ServerName: "lisbon403", TCP: true, UDP: true, PortForward: true, IP: net.IP{89, 26, 241, 140}}, - {Region: "Portugal", ServerName: "lisbon404", TCP: true, UDP: true, PortForward: true, IP: net.IP{89, 26, 241, 107}}, - {Region: "Qatar", ServerName: "qatar403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 234, 8}}, - {Region: "Romania", ServerName: "romania406", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 52, 13}}, - {Region: "Romania", ServerName: "romania407", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 54, 143}}, - {Region: "Romania", ServerName: "romania408", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 54, 87}}, - {Region: "Romania", ServerName: "romania409", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 54, 26}}, - {Region: "Saudi Arabia", ServerName: "saudiarabia403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 235, 9}}, - {Region: "Serbia", ServerName: "belgrade401", TCP: true, UDP: true, PortForward: true, IP: net.IP{37, 120, 193, 248}}, - {Region: "Serbia", ServerName: "belgrade402", TCP: true, UDP: true, PortForward: true, IP: net.IP{37, 120, 193, 234}}, - {Region: "Singapore", ServerName: "singapore401", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 57, 197}}, - {Region: "Singapore", ServerName: "singapore402", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 57, 137}}, - {Region: "Singapore", ServerName: "singapore403", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 57, 43}}, - {Region: "Singapore", ServerName: "singapore404", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 24, 19}}, - {Region: "Slovakia", ServerName: "bratislava401", TCP: true, UDP: true, PortForward: true, IP: net.IP{37, 120, 221, 93}}, - {Region: "Slovakia", ServerName: "bratislava402", TCP: true, UDP: true, PortForward: true, IP: net.IP{37, 120, 221, 221}}, - {Region: "South Africa", ServerName: "johannesburg401", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 16, 93, 36}}, - {Region: "South Africa", ServerName: "johannesburg402", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 16, 93, 194}}, - {Region: "South Africa", ServerName: "johannesburg403", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 16, 93, 234}}, - {Region: "Spain", ServerName: "madrid401", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 49, 77}}, - {Region: "Spain", ServerName: "madrid402", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 49, 27}}, - {Region: "Spain", ServerName: "madrid403", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 49, 213}}, - {Region: "Spain", ServerName: "madrid404", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 49, 144}}, - {Region: "Sweden", ServerName: "stockholm401", TCP: true, UDP: true, PortForward: true, IP: net.IP{195, 246, 120, 29}}, - {Region: "Sweden", ServerName: "stockholm402", TCP: true, UDP: true, PortForward: true, IP: net.IP{195, 246, 120, 75}}, - {Region: "Sweden", ServerName: "stockholm403", TCP: true, UDP: true, PortForward: true, IP: net.IP{195, 246, 120, 106}}, - {Region: "Sweden", ServerName: "stockholm404", TCP: true, UDP: true, PortForward: true, IP: net.IP{195, 246, 120, 139}}, - {Region: "Sweden", ServerName: "stockholm405", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 246, 3, 210}}, - {Region: "Switzerland", ServerName: "zurich403", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 37, 120}}, - {Region: "Switzerland", ServerName: "zurich404", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 37, 70}}, - {Region: "Switzerland", ServerName: "zurich405", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 36, 8}}, - {Region: "Switzerland", ServerName: "zurich406", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 62, 139}}, - {Region: "Switzerland", ServerName: "zurich407", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 62, 216}}, - {Region: "Taiwan", ServerName: "taiwan401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 106, 75}}, - {Region: "Taiwan", ServerName: "taiwan402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 106, 85}}, - {Region: "Taiwan", ServerName: "taiwan403", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 106, 155}}, - {Region: "Turkey", ServerName: "istanbul401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 213, 34, 76}}, - {Region: "Turkey", ServerName: "istanbul402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 213, 34, 93}}, - {Region: "UK London", ServerName: "london408", TCP: true, UDP: true, PortForward: true, IP: net.IP{194, 110, 13, 19}}, - {Region: "UK London", ServerName: "london416", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 28, 56}}, - {Region: "UK London", ServerName: "london426", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 30, 79}}, - {Region: "UK London", ServerName: "london433", TCP: true, UDP: true, PortForward: true, IP: net.IP{194, 110, 13, 43}}, - {Region: "UK London", ServerName: "london442", TCP: true, UDP: true, PortForward: true, IP: net.IP{191, 101, 209, 7}}, - {Region: "UK Manchester", ServerName: "manchester419", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 172, 29}}, - {Region: "UK Manchester", ServerName: "manchester420", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 172, 58}}, - {Region: "UK Manchester", ServerName: "manchester421", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 172, 78}}, - {Region: "UK Manchester", ServerName: "manchester426", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 172, 246}}, - {Region: "UK Manchester", ServerName: "manchester427", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 173, 10}}, - {Region: "UK Southampton", ServerName: "southampton401", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 37, 217}}, - {Region: "UK Southampton", ServerName: "southampton402", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 37, 157}}, - {Region: "UK Southampton", ServerName: "southampton403", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 37, 63}}, - {Region: "UK Southampton", ServerName: "southampton406", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 38, 89}}, - {Region: "UK Southampton", ServerName: "southampton407", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 38, 6}}, - {Region: "UK Streaming Optimized", ServerName: "london425", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 30, 138}}, - {Region: "UK Streaming Optimized", ServerName: "london429", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 29, 134}}, - {Region: "UK Streaming Optimized", ServerName: "london431", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 29, 160}}, - {Region: "UK Streaming Optimized", ServerName: "london435", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 30, 208}}, - {Region: "UK Streaming Optimized", ServerName: "london441", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 30, 153}}, - {Region: "US Atlanta", ServerName: "atlanta414", TCP: true, UDP: false, PortForward: false, IP: net.IP{154, 21, 22, 119}}, - {Region: "US Atlanta", ServerName: "atlanta415", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 22, 145}}, - {Region: "US Atlanta", ServerName: "atlanta419", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 21, 34}}, - {Region: "US Atlanta", ServerName: "atlanta420", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 21, 57}}, - {Region: "US Atlanta", ServerName: "atlanta425", TCP: false, UDP: true, PortForward: false, IP: net.IP{156, 146, 47, 14}}, - {Region: "US Atlanta", ServerName: "atlanta427", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 46, 149}}, - {Region: "US California", ServerName: "losangeles403", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 49, 93}}, - {Region: "US California", ServerName: "losangeles404", TCP: true, UDP: true, PortForward: false, IP: net.IP{84, 17, 45, 24}}, - {Region: "US California", ServerName: "losangeles409", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 49, 140}}, - {Region: "US California", ServerName: "losangeles415", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 48, 68}}, - {Region: "US California", ServerName: "losangeles420", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 50, 200}}, - {Region: "US Chicago", ServerName: "chicago408", TCP: false, UDP: true, PortForward: false, IP: net.IP{154, 21, 28, 140}}, - {Region: "US Chicago", ServerName: "chicago410", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 28, 206}}, - {Region: "US Chicago", ServerName: "chicago414", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 23, 147}}, - {Region: "US Chicago", ServerName: "chicago417", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 114, 68}}, - {Region: "US Chicago", ServerName: "chicago418", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 114, 117}}, - {Region: "US Chicago", ServerName: "chicago420", TCP: true, UDP: false, PortForward: false, IP: net.IP{154, 21, 114, 217}}, - {Region: "US Denver", ServerName: "denver402", TCP: true, UDP: true, PortForward: false, IP: net.IP{70, 39, 126, 149}}, - {Region: "US Denver", ServerName: "denver403", TCP: true, UDP: true, PortForward: false, IP: net.IP{70, 39, 116, 240}}, - {Region: "US Denver", ServerName: "denver405", TCP: true, UDP: true, PortForward: false, IP: net.IP{70, 39, 110, 93}}, - {Region: "US Denver", ServerName: "denver407", TCP: true, UDP: true, PortForward: false, IP: net.IP{70, 39, 108, 226}}, - {Region: "US Denver", ServerName: "denver410", TCP: true, UDP: true, PortForward: false, IP: net.IP{174, 128, 227, 39}}, - {Region: "US East", ServerName: "newjersey402", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 45, 64}}, - {Region: "US East", ServerName: "newjersey411", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 46, 207}}, - {Region: "US East", ServerName: "newjersey419", TCP: true, UDP: true, PortForward: false, IP: net.IP{37, 19, 197, 135}}, - {Region: "US East", ServerName: "newjersey420", TCP: true, UDP: true, PortForward: false, IP: net.IP{37, 19, 197, 176}}, - {Region: "US East", ServerName: "newyork412", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 55, 13}}, - {Region: "US Florida", ServerName: "miami403", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 34, 33}}, - {Region: "US Florida", ServerName: "miami404", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 34, 164}}, - {Region: "US Florida", ServerName: "miami408", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 42, 160}}, - {Region: "US Florida", ServerName: "miami409", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 42, 213}}, - {Region: "US Florida", ServerName: "miami416", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 35, 115}}, - {Region: "US Houston", ServerName: "houston419", TCP: true, UDP: true, PortForward: false, IP: net.IP{191, 96, 67, 29}}, - {Region: "US Houston", ServerName: "houston421", TCP: true, UDP: true, PortForward: false, IP: net.IP{191, 96, 67, 76}}, - {Region: "US Houston", ServerName: "houston422", TCP: true, UDP: true, PortForward: false, IP: net.IP{191, 96, 67, 116}}, - {Region: "US Houston", ServerName: "houston425", TCP: true, UDP: true, PortForward: false, IP: net.IP{191, 96, 67, 195}}, - {Region: "US Houston", ServerName: "houston427", TCP: true, UDP: true, PortForward: false, IP: net.IP{181, 214, 227, 6}}, - {Region: "US Las Vegas", ServerName: "lasvegas402", TCP: true, UDP: true, PortForward: false, IP: net.IP{45, 89, 173, 182}}, - {Region: "US Las Vegas", ServerName: "lasvegas403", TCP: true, UDP: true, PortForward: false, IP: net.IP{82, 102, 31, 119}}, - {Region: "US Las Vegas", ServerName: "lasvegas404", TCP: true, UDP: true, PortForward: false, IP: net.IP{82, 102, 31, 203}}, - {Region: "US Las Vegas", ServerName: "lasvegas426", TCP: true, UDP: true, PortForward: false, IP: net.IP{173, 239, 226, 137}}, - {Region: "US Las Vegas", ServerName: "lasvegas427", TCP: true, UDP: true, PortForward: false, IP: net.IP{173, 239, 226, 239}}, - {Region: "US New York", ServerName: "newjersey414", TCP: true, UDP: true, PortForward: false, IP: net.IP{138, 199, 10, 30}}, - {Region: "US New York", ServerName: "newyork404", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 44, 217}}, - {Region: "US New York", ServerName: "newyork415", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 37, 180}}, - {Region: "US New York", ServerName: "newyork418", TCP: true, UDP: true, PortForward: false, IP: net.IP{138, 199, 13, 208}}, - {Region: "US New York", ServerName: "newyork430", TCP: true, UDP: true, PortForward: false, IP: net.IP{37, 19, 198, 10}}, - {Region: "US Seattle", ServerName: "seattle401", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 48, 30}}, - {Region: "US Seattle", ServerName: "seattle406", TCP: false, UDP: true, PortForward: false, IP: net.IP{154, 9, 128, 94}}, - {Region: "US Seattle", ServerName: "seattle413", TCP: true, UDP: false, PortForward: false, IP: net.IP{154, 21, 20, 44}}, - {Region: "US Seattle", ServerName: "seattle415", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 20, 118}}, - {Region: "US Seattle", ServerName: "seattle416", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 20, 127}}, - {Region: "US Seattle", ServerName: "seattle422", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 48, 227}}, - {Region: "US Silicon Valley", ServerName: "siliconvalley401", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 212, 46}}, - {Region: "US Silicon Valley", ServerName: "siliconvalley402", TCP: false, UDP: true, PortForward: false, IP: net.IP{154, 21, 212, 56}}, - {Region: "US Silicon Valley", ServerName: "siliconvalley404", TCP: true, UDP: false, PortForward: false, IP: net.IP{154, 21, 212, 166}}, - {Region: "US Silicon Valley", ServerName: "siliconvalley407", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 212, 204}}, - {Region: "US Silicon Valley", ServerName: "siliconvalley414", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 216, 38}}, - {Region: "US Silicon Valley", ServerName: "siliconvalley421", TCP: true, UDP: true, PortForward: false, IP: net.IP{66, 115, 165, 185}}, - {Region: "US Texas", ServerName: "dallas404", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 3, 251, 38}}, - {Region: "US Texas", ServerName: "dallas406", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 3, 251, 140}}, - {Region: "US Texas", ServerName: "dallas410", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 29, 131, 4}}, - {Region: "US Texas", ServerName: "dallas411", TCP: false, UDP: true, PortForward: false, IP: net.IP{154, 29, 131, 68}}, - {Region: "US Texas", ServerName: "dallas412", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 29, 131, 98}}, - {Region: "US Texas", ServerName: "dallas413", TCP: true, UDP: false, PortForward: false, IP: net.IP{154, 29, 131, 148}}, - {Region: "US Washington DC", ServerName: "washington432", TCP: true, UDP: false, PortForward: false, IP: net.IP{154, 3, 44, 5}}, - {Region: "US Washington DC", ServerName: "washington437", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 3, 44, 174}}, - {Region: "US Washington DC", ServerName: "washington438", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 3, 44, 204}}, - {Region: "US Washington DC", ServerName: "washington443", TCP: true, UDP: true, PortForward: false, IP: net.IP{38, 70, 11, 114}}, - {Region: "US Washington DC", ServerName: "washington450", TCP: true, UDP: true, PortForward: false, IP: net.IP{91, 149, 244, 18}}, - {Region: "US Washington DC", ServerName: "washington453", TCP: false, UDP: true, PortForward: false, IP: net.IP{91, 149, 244, 154}}, - {Region: "US West", ServerName: "phoenix407", TCP: true, UDP: true, PortForward: false, IP: net.IP{184, 170, 241, 113}}, - {Region: "US West", ServerName: "phoenix409", TCP: true, UDP: true, PortForward: false, IP: net.IP{172, 98, 87, 150}}, - {Region: "US West", ServerName: "phoenix410", TCP: true, UDP: true, PortForward: false, IP: net.IP{184, 170, 252, 145}}, - {Region: "US West", ServerName: "phoenix411", TCP: true, UDP: true, PortForward: false, IP: net.IP{184, 170, 252, 205}}, - {Region: "US West", ServerName: "phoenix414", TCP: true, UDP: true, PortForward: false, IP: net.IP{184, 170, 242, 160}}, - {Region: "Ukraine", ServerName: "kiev401", TCP: true, UDP: true, PortForward: true, IP: net.IP{62, 149, 20, 55}}, - {Region: "Ukraine", ServerName: "kiev402", TCP: true, UDP: true, PortForward: true, IP: net.IP{62, 149, 20, 24}}, - {Region: "Ukraine", ServerName: "kiev403", TCP: true, UDP: true, PortForward: true, IP: net.IP{62, 149, 20, 4}}, - {Region: "Ukraine", ServerName: "kiev404", TCP: true, UDP: true, PortForward: true, IP: net.IP{62, 149, 20, 36}}, - {Region: "United Arab Emirates", ServerName: "dubai403", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 193, 146}}, - {Region: "United Arab Emirates", ServerName: "dubai404", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 193, 164}}, - {Region: "Venezuela", ServerName: "venezuela404", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 237, 24}}, - {Region: "Vietnam", ServerName: "vietnam401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 152, 74}}, - {Region: "Vietnam", ServerName: "vietnam402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 152, 89}}, + {Region: "AU Melbourne", Hostname: "aus-melbourne.privacy.network", ServerName: "melbourne402", TCP: true, UDP: true, PortForward: true, IP: net.IP{27, 50, 74, 247}}, + {Region: "AU Melbourne", Hostname: "aus-melbourne.privacy.network", ServerName: "melbourne403", TCP: true, UDP: true, PortForward: true, IP: net.IP{103, 2, 198, 69}}, + {Region: "AU Melbourne", Hostname: "aus-melbourne.privacy.network", ServerName: "melbourne405", TCP: true, UDP: true, PortForward: true, IP: net.IP{103, 2, 198, 109}}, + {Region: "AU Melbourne", Hostname: "aus-melbourne.privacy.network", ServerName: "melbourne410", TCP: true, UDP: true, PortForward: true, IP: net.IP{43, 242, 69, 44}}, + {Region: "AU Melbourne", Hostname: "aus-melbourne.privacy.network", ServerName: "melbourne414", TCP: true, UDP: true, PortForward: true, IP: net.IP{27, 50, 74, 99}}, + {Region: "AU Perth", Hostname: "aus-perth.privacy.network", ServerName: "perth403", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 228, 35}}, + {Region: "AU Perth", Hostname: "aus-perth.privacy.network", ServerName: "perth404", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 228, 87}}, + {Region: "AU Perth", Hostname: "aus-perth.privacy.network", ServerName: "perth405", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 228, 130}}, + {Region: "AU Sydney", Hostname: "au-sydney.privacy.network", ServerName: "sydney406", TCP: true, UDP: true, PortForward: true, IP: net.IP{202, 130, 32, 26}}, + {Region: "AU Sydney", Hostname: "au-sydney.privacy.network", ServerName: "sydney409", TCP: true, UDP: true, PortForward: true, IP: net.IP{117, 120, 10, 153}}, + {Region: "AU Sydney", Hostname: "au-sydney.privacy.network", ServerName: "sydney413", TCP: true, UDP: true, PortForward: true, IP: net.IP{27, 50, 76, 90}}, + {Region: "AU Sydney", Hostname: "au-sydney.privacy.network", ServerName: "sydney414", TCP: true, UDP: true, PortForward: true, IP: net.IP{27, 50, 76, 98}}, + {Region: "AU Sydney", Hostname: "au-sydney.privacy.network", ServerName: "sydney415", TCP: true, UDP: true, PortForward: true, IP: net.IP{27, 50, 76, 123}}, + {Region: "Albania", Hostname: "al.privacy.network", ServerName: "tirana401", TCP: true, UDP: true, PortForward: true, IP: net.IP{31, 171, 154, 135}}, + {Region: "Albania", Hostname: "al.privacy.network", ServerName: "tirana402", TCP: true, UDP: true, PortForward: true, IP: net.IP{31, 171, 154, 116}}, + {Region: "Albania", Hostname: "al.privacy.network", ServerName: "tirana403", TCP: true, UDP: true, PortForward: true, IP: net.IP{31, 171, 154, 73}}, + {Region: "Albania", Hostname: "al.privacy.network", ServerName: "tirana404", TCP: true, UDP: true, PortForward: true, IP: net.IP{31, 171, 154, 59}}, + {Region: "Algeria", Hostname: "dz.privacy.network", ServerName: "algiers403", TCP: true, UDP: true, PortForward: true, IP: net.IP{176, 125, 228, 3}}, + {Region: "Algeria", Hostname: "dz.privacy.network", ServerName: "algiers404", TCP: true, UDP: true, PortForward: true, IP: net.IP{176, 125, 228, 23}}, + {Region: "Andorra", Hostname: "ad.privacy.network", ServerName: "andorra403", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 82, 9}}, + {Region: "Andorra", Hostname: "ad.privacy.network", ServerName: "andorra404", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 82, 25}}, + {Region: "Andorra", Hostname: "ad.privacy.network", ServerName: "andorra405", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 82, 34}}, + {Region: "Argentina", Hostname: "ar.privacy.network", ServerName: "buenosaires401", TCP: true, UDP: true, PortForward: true, IP: net.IP{190, 106, 134, 90}}, + {Region: "Argentina", Hostname: "ar.privacy.network", ServerName: "buenosaires402", TCP: true, UDP: true, PortForward: true, IP: net.IP{190, 106, 134, 103}}, + {Region: "Armenia", Hostname: "yerevan.privacy.network", ServerName: "armenia403", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 253, 160, 5}}, + {Region: "Austria", Hostname: "austria.privacy.network", ServerName: "vienna402", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 60, 14}}, + {Region: "Austria", Hostname: "austria.privacy.network", ServerName: "vienna403", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 60, 88}}, + {Region: "Bahamas", Hostname: "bahamas.privacy.network", ServerName: "bahamas403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 238, 25}}, + {Region: "Bahamas", Hostname: "bahamas.privacy.network", ServerName: "bahamas404", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 238, 7}}, + {Region: "Bahamas", Hostname: "bahamas.privacy.network", ServerName: "bahamas405", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 238, 29}}, + {Region: "Bahamas", Hostname: "bahamas.privacy.network", ServerName: "bahamas406", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 238, 43}}, + {Region: "Bangladesh", Hostname: "bangladesh.privacy.network", ServerName: "bangladesh403", TCP: true, UDP: true, PortForward: true, IP: net.IP{84, 252, 93, 6}}, + {Region: "Belgium", Hostname: "brussels.privacy.network", ServerName: "brussels401", TCP: true, UDP: true, PortForward: true, IP: net.IP{89, 249, 73, 212}}, + {Region: "Belgium", Hostname: "brussels.privacy.network", ServerName: "brussels405", TCP: true, UDP: true, PortForward: true, IP: net.IP{194, 110, 115, 3}}, + {Region: "Belgium", Hostname: "brussels.privacy.network", ServerName: "brussels408", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 123, 39}}, + {Region: "Belgium", Hostname: "brussels.privacy.network", ServerName: "brussels413", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 123, 93}}, + {Region: "Belgium", Hostname: "brussels.privacy.network", ServerName: "brussels415", TCP: true, UDP: true, PortForward: true, IP: net.IP{194, 110, 115, 35}}, + {Region: "Bosnia and Herzegovina", Hostname: "ba.privacy.network", ServerName: "sarajevo402", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 212, 111, 63}}, + {Region: "Brazil", Hostname: "br.privacy.network", ServerName: "saopaolo401", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 180, 229}}, + {Region: "Brazil", Hostname: "br.privacy.network", ServerName: "saopaolo402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 177, 53}}, + {Region: "Brazil", Hostname: "br.privacy.network", ServerName: "saopaolo403", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 177, 115}}, + {Region: "Brazil", Hostname: "br.privacy.network", ServerName: "saopaolo404", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 180, 247}}, + {Region: "Bulgaria", Hostname: "sofia.privacy.network", ServerName: "sofia402", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 221, 83}}, + {Region: "Bulgaria", Hostname: "sofia.privacy.network", ServerName: "sofia403", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 221, 75}}, + {Region: "CA Montreal", Hostname: "ca-montreal.privacy.network", ServerName: "montreal402", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 71, 104}}, + {Region: "CA Montreal", Hostname: "ca-montreal.privacy.network", ServerName: "montreal403", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 71, 4}}, + {Region: "CA Montreal", Hostname: "ca-montreal.privacy.network", ServerName: "montreal404", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 71, 144}}, + {Region: "CA Montreal", Hostname: "ca-montreal.privacy.network", ServerName: "montreal409", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 68, 14}}, + {Region: "CA Montreal", Hostname: "ca-montreal.privacy.network", ServerName: "montreal410", TCP: true, UDP: true, PortForward: true, IP: net.IP{199, 36, 223, 226}}, + {Region: "CA Ontario", Hostname: "ca-ontario.privacy.network", ServerName: "ontario401", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 83, 47, 128}}, + {Region: "CA Ontario", Hostname: "ca-ontario.privacy.network", ServerName: "ontario402", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 83, 47, 155}}, + {Region: "CA Ontario", Hostname: "ca-ontario.privacy.network", ServerName: "ontario407", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 80, 57}}, + {Region: "CA Ontario", Hostname: "ca-ontario.privacy.network", ServerName: "ontario408", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 92, 118}}, + {Region: "CA Ontario", Hostname: "ca-ontario.privacy.network", ServerName: "ontario409", TCP: true, UDP: true, PortForward: true, IP: net.IP{66, 115, 145, 236}}, + {Region: "CA Toronto", Hostname: "ca-toronto.privacy.network", ServerName: "toronto414", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 3, 40, 25}}, + {Region: "CA Toronto", Hostname: "ca-toronto.privacy.network", ServerName: "toronto416", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 3, 40, 69}}, + {Region: "CA Toronto", Hostname: "ca-toronto.privacy.network", ServerName: "toronto418", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 3, 40, 143}}, + {Region: "CA Toronto", Hostname: "ca-toronto.privacy.network", ServerName: "toronto421", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 3, 40, 248}}, + {Region: "CA Toronto", Hostname: "ca-toronto.privacy.network", ServerName: "toronto423", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 3, 42, 49}}, + {Region: "CA Vancouver", Hostname: "ca-vancouver.privacy.network", ServerName: "vancouver401", TCP: true, UDP: true, PortForward: true, IP: net.IP{162, 216, 47, 53}}, + {Region: "CA Vancouver", Hostname: "ca-vancouver.privacy.network", ServerName: "vancouver405", TCP: true, UDP: true, PortForward: true, IP: net.IP{162, 216, 47, 175}}, + {Region: "CA Vancouver", Hostname: "ca-vancouver.privacy.network", ServerName: "vancouver407", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 89, 17}}, + {Region: "CA Vancouver", Hostname: "ca-vancouver.privacy.network", ServerName: "vancouver408", TCP: true, UDP: true, PortForward: true, IP: net.IP{208, 78, 42, 35}}, + {Region: "CA Vancouver", Hostname: "ca-vancouver.privacy.network", ServerName: "vancouver409", TCP: true, UDP: true, PortForward: true, IP: net.IP{172, 98, 89, 244}}, + {Region: "Cambodia", Hostname: "cambodia.privacy.network", ServerName: "cambodia401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 215, 235, 110}}, + {Region: "Cambodia", Hostname: "cambodia.privacy.network", ServerName: "cambodia402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 215, 235, 119}}, + {Region: "China", Hostname: "china.privacy.network", ServerName: "china404", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 80, 4}}, + {Region: "Croatia", Hostname: "zagreb.privacy.network", ServerName: "zagreb402", TCP: true, UDP: true, PortForward: true, IP: net.IP{146, 70, 8, 138}}, + {Region: "Cyprus", Hostname: "cyprus.privacy.network", ServerName: "cyprus403", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 253, 162, 14}}, + {Region: "Czech Republic", Hostname: "czech.privacy.network", ServerName: "prague401", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 38, 214}}, + {Region: "Czech Republic", Hostname: "czech.privacy.network", ServerName: "prague402", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 39, 158}}, + {Region: "DE Berlin", Hostname: "de-berlin.privacy.network", ServerName: "berlin417", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 13, 1, 24}}, + {Region: "DE Berlin", Hostname: "de-berlin.privacy.network", ServerName: "berlin419", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 13, 1, 53}}, + {Region: "DE Berlin", Hostname: "de-berlin.privacy.network", ServerName: "berlin420", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 13, 1, 65}}, + {Region: "DE Berlin", Hostname: "de-berlin.privacy.network", ServerName: "berlin421", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 13, 1, 84}}, + {Region: "DE Berlin", Hostname: "de-berlin.privacy.network", ServerName: "berlin422", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 13, 1, 103}}, + {Region: "DE Frankfurt", Hostname: "de-frankfurt.privacy.network", ServerName: "frankfurt405", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 57, 20}}, + {Region: "DE Frankfurt", Hostname: "de-frankfurt.privacy.network", ServerName: "frankfurt406", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 57, 69}}, + {Region: "DE Frankfurt", Hostname: "de-frankfurt.privacy.network", ServerName: "frankfurt407", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 18, 156}}, + {Region: "DE Frankfurt", Hostname: "de-frankfurt.privacy.network", ServerName: "frankfurt408", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 18, 88}}, + {Region: "DE Frankfurt", Hostname: "de-frankfurt.privacy.network", ServerName: "frankfurt410", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 57, 159}}, + {Region: "Denmark", Hostname: "denmark.privacy.network", ServerName: "copenhagen402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 94, 83}}, + {Region: "Denmark", Hostname: "denmark.privacy.network", ServerName: "copenhagen403", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 94, 105}}, + {Region: "Denmark", Hostname: "denmark.privacy.network", ServerName: "copenhagen404", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 94, 186}}, + {Region: "Denmark", Hostname: "denmark.privacy.network", ServerName: "copenhagen405", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 94, 35}}, + {Region: "Egypt", Hostname: "egypt.privacy.network", ServerName: "cairo401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 122, 106}}, + {Region: "Egypt", Hostname: "egypt.privacy.network", ServerName: "cairo402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 122, 118}}, + {Region: "Estonia", Hostname: "ee.privacy.network", ServerName: "talinn401", TCP: true, UDP: true, PortForward: true, IP: net.IP{77, 247, 111, 140}}, + {Region: "Estonia", Hostname: "ee.privacy.network", ServerName: "talinn402", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 153, 31, 76}}, + {Region: "Finland", Hostname: "fi.privacy.network", ServerName: "helsinki401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 89, 3}}, + {Region: "Finland", Hostname: "fi.privacy.network", ServerName: "helsinki402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 89, 37}}, + {Region: "Finland", Hostname: "fi.privacy.network", ServerName: "helsinki404", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 126, 89, 67}}, + {Region: "France", Hostname: "france.privacy.network", ServerName: "paris402", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 63, 137}}, + {Region: "France", Hostname: "france.privacy.network", ServerName: "paris410", TCP: true, UDP: true, PortForward: true, IP: net.IP{191, 101, 217, 33}}, + {Region: "France", Hostname: "france.privacy.network", ServerName: "paris411", TCP: true, UDP: true, PortForward: true, IP: net.IP{191, 101, 31, 23}}, + {Region: "France", Hostname: "france.privacy.network", ServerName: "paris412", TCP: true, UDP: true, PortForward: true, IP: net.IP{191, 101, 31, 69}}, + {Region: "Georgia", Hostname: "georgia.privacy.network", ServerName: "georgia403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 236, 13}}, + {Region: "Greece", Hostname: "gr.privacy.network", ServerName: "athens401", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 57, 3, 84}}, + {Region: "Greece", Hostname: "gr.privacy.network", ServerName: "athens402", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 57, 3, 96}}, + {Region: "Greenland", Hostname: "greenland.privacy.network", ServerName: "greenland403", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 120, 133}}, + {Region: "Greenland", Hostname: "greenland.privacy.network", ServerName: "greenland404", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 120, 159}}, + {Region: "Greenland", Hostname: "greenland.privacy.network", ServerName: "greenland405", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 120, 164}}, + {Region: "Greenland", Hostname: "greenland.privacy.network", ServerName: "greenland406", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 120, 180}}, + {Region: "Hong Kong", Hostname: "hk.privacy.network", ServerName: "china403", TCP: true, UDP: true, PortForward: true, IP: net.IP{86, 107, 104, 219}}, + {Region: "Hong Kong", Hostname: "hk.privacy.network", ServerName: "hongkong402", TCP: true, UDP: true, PortForward: true, IP: net.IP{86, 107, 104, 230}}, + {Region: "Hungary", Hostname: "hungary.privacy.network", ServerName: "budapest401", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 192, 221}}, + {Region: "Hungary", Hostname: "hungary.privacy.network", ServerName: "budapest402", TCP: true, UDP: true, PortForward: true, IP: net.IP{86, 106, 74, 124}}, + {Region: "Iceland", Hostname: "is.privacy.network", ServerName: "reykjavik404", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 193, 58}}, + {Region: "India", Hostname: "in.privacy.network", ServerName: "mumbai401", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 120, 139, 105}}, + {Region: "India", Hostname: "in.privacy.network", ServerName: "mumbai402", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 120, 139, 136}}, + {Region: "India", Hostname: "in.privacy.network", ServerName: "mumbai403", TCP: true, UDP: true, PortForward: true, IP: net.IP{103, 150, 187, 10}}, + {Region: "India", Hostname: "in.privacy.network", ServerName: "mumbai407", TCP: true, UDP: true, PortForward: true, IP: net.IP{103, 150, 187, 28}}, + {Region: "Ireland", Hostname: "ireland.privacy.network", ServerName: "dublin403", TCP: true, UDP: true, PortForward: true, IP: net.IP{193, 56, 252, 35}}, + {Region: "Ireland", Hostname: "ireland.privacy.network", ServerName: "dublin405", TCP: true, UDP: true, PortForward: true, IP: net.IP{193, 56, 252, 13}}, + {Region: "Ireland", Hostname: "ireland.privacy.network", ServerName: "dublin406", TCP: true, UDP: true, PortForward: true, IP: net.IP{193, 56, 252, 214}}, + {Region: "Ireland", Hostname: "ireland.privacy.network", ServerName: "dublin407", TCP: true, UDP: true, PortForward: true, IP: net.IP{193, 56, 252, 233}}, + {Region: "Ireland", Hostname: "ireland.privacy.network", ServerName: "dublin411", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 241, 178, 20}}, + {Region: "Isle of Man", Hostname: "man.privacy.network", ServerName: "douglas403", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 124, 4}}, + {Region: "Israel", Hostname: "israel.privacy.network", ServerName: "jerusalem402", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 77, 248, 28}}, + {Region: "Israel", Hostname: "israel.privacy.network", ServerName: "jerusalem403", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 77, 248, 45}}, + {Region: "Israel", Hostname: "israel.privacy.network", ServerName: "jerusalem404", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 77, 248, 60}}, + {Region: "Israel", Hostname: "israel.privacy.network", ServerName: "jerusalem405", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 77, 248, 67}}, + {Region: "Israel", Hostname: "israel.privacy.network", ServerName: "jerusalem407", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 77, 248, 98}}, + {Region: "Italy", Hostname: "italy.privacy.network", ServerName: "milano402", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 41, 5}}, + {Region: "Italy", Hostname: "italy.privacy.network", ServerName: "milano403", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 41, 66}}, + {Region: "Italy", Hostname: "italy.privacy.network", ServerName: "milano404", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 41, 208}}, + {Region: "JP Streaming Optimized", Hostname: "japan-2.privacy.network", ServerName: "tokyo410", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 39, 4}}, + {Region: "JP Tokyo", Hostname: "japan.privacy.network", ServerName: "tokyo401", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 34, 146}}, + {Region: "JP Tokyo", Hostname: "japan.privacy.network", ServerName: "tokyo402", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 34, 86}}, + {Region: "JP Tokyo", Hostname: "japan.privacy.network", ServerName: "tokyo403", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 34, 26}}, + {Region: "Kazakhstan", Hostname: "kazakhstan.privacy.network", ServerName: "kazakhstan403", TCP: true, UDP: true, PortForward: true, IP: net.IP{62, 133, 47, 5}}, + {Region: "Latvia", Hostname: "lv.privacy.network", ServerName: "riga401", TCP: true, UDP: true, PortForward: true, IP: net.IP{109, 248, 149, 5}}, + {Region: "Latvia", Hostname: "lv.privacy.network", ServerName: "riga402", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 183, 218, 138}}, + {Region: "Latvia", Hostname: "lv.privacy.network", ServerName: "riga403", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 183, 218, 148}}, + {Region: "Liechtenstein", Hostname: "liechtenstein.privacy.network", ServerName: "liechtenstein403", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 122, 3}}, + {Region: "Lithuania", Hostname: "lt.privacy.network", ServerName: "vilnius401", TCP: true, UDP: true, PortForward: true, IP: net.IP{85, 206, 165, 166}}, + {Region: "Lithuania", Hostname: "lt.privacy.network", ServerName: "vilnius402", TCP: true, UDP: true, PortForward: true, IP: net.IP{85, 206, 165, 108}}, + {Region: "Lithuania", Hostname: "lt.privacy.network", ServerName: "vilnius403", TCP: true, UDP: true, PortForward: true, IP: net.IP{85, 206, 165, 120}}, + {Region: "Luxembourg", Hostname: "lu.privacy.network", ServerName: "luxembourg404", TCP: true, UDP: true, PortForward: true, IP: net.IP{5, 253, 204, 110}}, + {Region: "Luxembourg", Hostname: "lu.privacy.network", ServerName: "luxembourg405", TCP: true, UDP: true, PortForward: true, IP: net.IP{5, 253, 204, 115}}, + {Region: "Luxembourg", Hostname: "lu.privacy.network", ServerName: "luxembourg406", TCP: true, UDP: true, PortForward: true, IP: net.IP{5, 253, 204, 142}}, + {Region: "Luxembourg", Hostname: "lu.privacy.network", ServerName: "luxembourg407", TCP: true, UDP: true, PortForward: true, IP: net.IP{5, 253, 204, 157}}, + {Region: "Macao", Hostname: "macau.privacy.network", ServerName: "macau403", TCP: true, UDP: true, PortForward: true, IP: net.IP{84, 252, 92, 13}}, + {Region: "Macedonia", Hostname: "mk.privacy.network", ServerName: "macedonia401", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 225, 28, 115}}, + {Region: "Macedonia", Hostname: "mk.privacy.network", ServerName: "macedonia402", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 225, 28, 140}}, + {Region: "Malta", Hostname: "malta.privacy.network", ServerName: "malta403", TCP: true, UDP: true, PortForward: true, IP: net.IP{176, 125, 230, 10}}, + {Region: "Mexico", Hostname: "mexico.privacy.network", ServerName: "mexico403", TCP: true, UDP: true, PortForward: true, IP: net.IP{77, 81, 142, 5}}, + {Region: "Mexico", Hostname: "mexico.privacy.network", ServerName: "mexico406", TCP: true, UDP: true, PortForward: true, IP: net.IP{77, 81, 142, 56}}, + {Region: "Mexico", Hostname: "mexico.privacy.network", ServerName: "mexico409", TCP: true, UDP: true, PortForward: true, IP: net.IP{77, 81, 142, 98}}, + {Region: "Mexico", Hostname: "mexico.privacy.network", ServerName: "mexico411", TCP: true, UDP: true, PortForward: true, IP: net.IP{77, 81, 142, 119}}, + {Region: "Mexico", Hostname: "mexico.privacy.network", ServerName: "mexico412", TCP: true, UDP: true, PortForward: true, IP: net.IP{77, 81, 142, 204}}, + {Region: "Moldova", Hostname: "md.privacy.network", ServerName: "chisinau401", TCP: true, UDP: true, PortForward: true, IP: net.IP{178, 175, 129, 37}}, + {Region: "Moldova", Hostname: "md.privacy.network", ServerName: "chisinau402", TCP: true, UDP: true, PortForward: true, IP: net.IP{178, 175, 128, 43}}, + {Region: "Monaco", Hostname: "monaco.privacy.network", ServerName: "monaco403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 233, 5}}, + {Region: "Mongolia", Hostname: "mongolia.privacy.network", ServerName: "mongolia403", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 253, 163, 13}}, + {Region: "Mongolia", Hostname: "mongolia.privacy.network", ServerName: "mongolia404", TCP: true, UDP: true, PortForward: true, IP: net.IP{185, 253, 163, 22}}, + {Region: "Montenegro", Hostname: "montenegro.privacy.network", ServerName: "montenegro403", TCP: true, UDP: true, PortForward: true, IP: net.IP{176, 125, 229, 3}}, + {Region: "Morocco", Hostname: "morocco.privacy.network", ServerName: "morocco403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 232, 4}}, + {Region: "Netherlands", Hostname: "nl-amsterdam.privacy.network", ServerName: "amsterdam424", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 34, 233}}, + {Region: "Netherlands", Hostname: "nl-amsterdam.privacy.network", ServerName: "amsterdam427", TCP: true, UDP: true, PortForward: true, IP: net.IP{181, 214, 206, 56}}, + {Region: "Netherlands", Hostname: "nl-amsterdam.privacy.network", ServerName: "amsterdam431", TCP: true, UDP: true, PortForward: true, IP: net.IP{181, 214, 206, 143}}, + {Region: "Netherlands", Hostname: "nl-amsterdam.privacy.network", ServerName: "amsterdam432", TCP: true, UDP: true, PortForward: true, IP: net.IP{195, 78, 54, 240}}, + {Region: "Netherlands", Hostname: "nl-amsterdam.privacy.network", ServerName: "amsterdam434", TCP: true, UDP: true, PortForward: true, IP: net.IP{181, 214, 206, 188}}, + {Region: "New Zealand", Hostname: "nz.privacy.network", ServerName: "newzealand403", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 240, 35}}, + {Region: "New Zealand", Hostname: "nz.privacy.network", ServerName: "newzealand404", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 240, 88}}, + {Region: "New Zealand", Hostname: "nz.privacy.network", ServerName: "newzealand405", TCP: true, UDP: true, PortForward: true, IP: net.IP{179, 61, 240, 188}}, + {Region: "Nigeria", Hostname: "nigeria.privacy.network", ServerName: "nigeria404", TCP: true, UDP: true, PortForward: true, IP: net.IP{102, 165, 25, 125}}, + {Region: "Norway", Hostname: "no.privacy.network", ServerName: "oslo401", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 246, 122, 36}}, + {Region: "Norway", Hostname: "no.privacy.network", ServerName: "oslo402", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 246, 122, 89}}, + {Region: "Norway", Hostname: "no.privacy.network", ServerName: "oslo403", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 246, 122, 119}}, + {Region: "Norway", Hostname: "no.privacy.network", ServerName: "oslo404", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 246, 122, 166}}, + {Region: "Panama", Hostname: "panama.privacy.network", ServerName: "panama403", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 126, 7}}, + {Region: "Panama", Hostname: "panama.privacy.network", ServerName: "panama404", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 126, 25}}, + {Region: "Panama", Hostname: "panama.privacy.network", ServerName: "panama405", TCP: true, UDP: true, PortForward: true, IP: net.IP{91, 90, 126, 36}}, + {Region: "Philippines", Hostname: "philippines.privacy.network", ServerName: "philippines401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 125, 138}}, + {Region: "Philippines", Hostname: "philippines.privacy.network", ServerName: "philippines402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 125, 154}}, + {Region: "Poland", Hostname: "poland.privacy.network", ServerName: "warsaw401", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 209, 246}}, + {Region: "Poland", Hostname: "poland.privacy.network", ServerName: "warsaw402", TCP: true, UDP: true, PortForward: true, IP: net.IP{194, 110, 114, 9}}, + {Region: "Poland", Hostname: "poland.privacy.network", ServerName: "warsaw406", TCP: true, UDP: true, PortForward: true, IP: net.IP{194, 110, 114, 78}}, + {Region: "Poland", Hostname: "poland.privacy.network", ServerName: "warsaw409", TCP: true, UDP: true, PortForward: true, IP: net.IP{194, 110, 114, 119}}, + {Region: "Poland", Hostname: "poland.privacy.network", ServerName: "warsaw410", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 59, 40}}, + {Region: "Portugal", Hostname: "pt.privacy.network", ServerName: "lisbon401", TCP: true, UDP: true, PortForward: true, IP: net.IP{89, 26, 241, 74}}, + {Region: "Portugal", Hostname: "pt.privacy.network", ServerName: "lisbon402", TCP: true, UDP: true, PortForward: true, IP: net.IP{89, 26, 241, 99}}, + {Region: "Portugal", Hostname: "pt.privacy.network", ServerName: "lisbon403", TCP: true, UDP: true, PortForward: true, IP: net.IP{89, 26, 241, 143}}, + {Region: "Portugal", Hostname: "pt.privacy.network", ServerName: "lisbon404", TCP: true, UDP: true, PortForward: true, IP: net.IP{89, 26, 241, 103}}, + {Region: "Qatar", Hostname: "qatar.privacy.network", ServerName: "qatar403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 234, 7}}, + {Region: "Romania", Hostname: "ro.privacy.network", ServerName: "romania406", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 52, 6}}, + {Region: "Romania", Hostname: "ro.privacy.network", ServerName: "romania407", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 54, 139}}, + {Region: "Romania", Hostname: "ro.privacy.network", ServerName: "romania409", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 54, 9}}, + {Region: "Saudi Arabia", Hostname: "saudiarabia.privacy.network", ServerName: "saudiarabia403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 235, 14}}, + {Region: "Serbia", Hostname: "rs.privacy.network", ServerName: "belgrade401", TCP: true, UDP: true, PortForward: true, IP: net.IP{37, 120, 193, 247}}, + {Region: "Serbia", Hostname: "rs.privacy.network", ServerName: "belgrade402", TCP: true, UDP: true, PortForward: true, IP: net.IP{37, 120, 193, 233}}, + {Region: "Singapore", Hostname: "sg.privacy.network", ServerName: "singapore401", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 57, 174}}, + {Region: "Singapore", Hostname: "sg.privacy.network", ServerName: "singapore402", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 57, 113}}, + {Region: "Singapore", Hostname: "sg.privacy.network", ServerName: "singapore403", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 57, 39}}, + {Region: "Singapore", Hostname: "sg.privacy.network", ServerName: "singapore404", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 24, 24}}, + {Region: "Slovakia", Hostname: "sk.privacy.network", ServerName: "bratislava401", TCP: true, UDP: true, PortForward: true, IP: net.IP{37, 120, 221, 93}}, + {Region: "Slovakia", Hostname: "sk.privacy.network", ServerName: "bratislava402", TCP: true, UDP: true, PortForward: true, IP: net.IP{37, 120, 221, 212}}, + {Region: "South Africa", Hostname: "za.privacy.network", ServerName: "johannesburg401", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 16, 93, 43}}, + {Region: "South Africa", Hostname: "za.privacy.network", ServerName: "johannesburg402", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 16, 93, 204}}, + {Region: "South Africa", Hostname: "za.privacy.network", ServerName: "johannesburg403", TCP: true, UDP: true, PortForward: true, IP: net.IP{154, 16, 93, 228}}, + {Region: "Spain", Hostname: "spain.privacy.network", ServerName: "madrid401", TCP: true, UDP: true, PortForward: true, IP: net.IP{195, 181, 167, 34}}, + {Region: "Spain", Hostname: "spain.privacy.network", ServerName: "madrid402", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 49, 16}}, + {Region: "Spain", Hostname: "spain.privacy.network", ServerName: "madrid403", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 49, 198}}, + {Region: "Spain", Hostname: "spain.privacy.network", ServerName: "madrid404", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 49, 146}}, + {Region: "Sri Lanka", Hostname: "srilanka.privacy.network", ServerName: "srilanka403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 239, 7}}, + {Region: "Sweden", Hostname: "sweden.privacy.network", ServerName: "stockholm401", TCP: true, UDP: true, PortForward: true, IP: net.IP{195, 246, 120, 7}}, + {Region: "Sweden", Hostname: "sweden.privacy.network", ServerName: "stockholm402", TCP: true, UDP: true, PortForward: true, IP: net.IP{195, 246, 120, 73}}, + {Region: "Sweden", Hostname: "sweden.privacy.network", ServerName: "stockholm403", TCP: true, UDP: true, PortForward: true, IP: net.IP{195, 246, 120, 96}}, + {Region: "Sweden", Hostname: "sweden.privacy.network", ServerName: "stockholm404", TCP: true, UDP: true, PortForward: true, IP: net.IP{195, 246, 120, 124}}, + {Region: "Sweden", Hostname: "sweden.privacy.network", ServerName: "stockholm405", TCP: true, UDP: true, PortForward: true, IP: net.IP{46, 246, 3, 203}}, + {Region: "Switzerland", Hostname: "swiss.privacy.network", ServerName: "zurich403", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 37, 134}}, + {Region: "Switzerland", Hostname: "swiss.privacy.network", ServerName: "zurich404", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 37, 58}}, + {Region: "Switzerland", Hostname: "swiss.privacy.network", ServerName: "zurich405", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 36, 13}}, + {Region: "Switzerland", Hostname: "swiss.privacy.network", ServerName: "zurich406", TCP: true, UDP: true, PortForward: true, IP: net.IP{156, 146, 62, 144}}, + {Region: "Switzerland", Hostname: "swiss.privacy.network", ServerName: "zurich408", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 36, 175}}, + {Region: "Taiwan", Hostname: "taiwan.privacy.network", ServerName: "taiwan401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 106, 76}}, + {Region: "Taiwan", Hostname: "taiwan.privacy.network", ServerName: "taiwan402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 106, 90}}, + {Region: "Taiwan", Hostname: "taiwan.privacy.network", ServerName: "taiwan403", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 106, 137}}, + {Region: "Turkey", Hostname: "tr.privacy.network", ServerName: "istanbul401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 213, 34, 77}}, + {Region: "Turkey", Hostname: "tr.privacy.network", ServerName: "istanbul402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 213, 34, 90}}, + {Region: "UK London", Hostname: "uk-london.privacy.network", ServerName: "london401", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 39, 26}}, + {Region: "UK London", Hostname: "uk-london.privacy.network", ServerName: "london402", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 63, 145}}, + {Region: "UK London", Hostname: "uk-london.privacy.network", ServerName: "london410", TCP: true, UDP: true, PortForward: true, IP: net.IP{181, 215, 176, 84}}, + {Region: "UK London", Hostname: "uk-london.privacy.network", ServerName: "london416", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 28, 50}}, + {Region: "UK London", Hostname: "uk-london.privacy.network", ServerName: "london427", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 30, 26}}, + {Region: "UK Manchester", Hostname: "uk-manchester.privacy.network", ServerName: "manchester419", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 172, 27}}, + {Region: "UK Manchester", Hostname: "uk-manchester.privacy.network", ServerName: "manchester420", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 172, 59}}, + {Region: "UK Manchester", Hostname: "uk-manchester.privacy.network", ServerName: "manchester421", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 172, 95}}, + {Region: "UK Manchester", Hostname: "uk-manchester.privacy.network", ServerName: "manchester426", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 172, 249}}, + {Region: "UK Manchester", Hostname: "uk-manchester.privacy.network", ServerName: "manchester427", TCP: true, UDP: true, PortForward: true, IP: net.IP{45, 133, 173, 16}}, + {Region: "UK Southampton", Hostname: "uk-southampton.privacy.network", ServerName: "southampton401", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 37, 195}}, + {Region: "UK Southampton", Hostname: "uk-southampton.privacy.network", ServerName: "southampton403", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 37, 90}}, + {Region: "UK Southampton", Hostname: "uk-southampton.privacy.network", ServerName: "southampton404", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 37, 23}}, + {Region: "UK Southampton", Hostname: "uk-southampton.privacy.network", ServerName: "southampton406", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 38, 75}}, + {Region: "UK Southampton", Hostname: "uk-southampton.privacy.network", ServerName: "southampton407", TCP: true, UDP: true, PortForward: true, IP: net.IP{143, 244, 38, 30}}, + {Region: "UK Streaming Optimized", Hostname: "uk-2.privacy.network", ServerName: "london425", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 30, 138}}, + {Region: "UK Streaming Optimized", Hostname: "uk-2.privacy.network", ServerName: "london431", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 29, 160}}, + {Region: "UK Streaming Optimized", Hostname: "uk-2.privacy.network", ServerName: "london435", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 30, 193}}, + {Region: "UK Streaming Optimized", Hostname: "uk-2.privacy.network", ServerName: "london441", TCP: true, UDP: true, PortForward: true, IP: net.IP{138, 199, 30, 170}}, + {Region: "UK Streaming Optimized", Hostname: "uk-2.privacy.network", ServerName: "southampton409", TCP: true, UDP: true, PortForward: true, IP: net.IP{212, 102, 52, 6}}, + {Region: "US Atlanta", Hostname: "us-atlanta.privacy.network", ServerName: "atlanta411", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 22, 4}}, + {Region: "US Atlanta", Hostname: "us-atlanta.privacy.network", ServerName: "atlanta413", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 22, 80}}, + {Region: "US Atlanta", Hostname: "us-atlanta.privacy.network", ServerName: "atlanta414", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 22, 109}}, + {Region: "US Atlanta", Hostname: "us-atlanta.privacy.network", ServerName: "atlanta418", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 22, 245}}, + {Region: "US Atlanta", Hostname: "us-atlanta.privacy.network", ServerName: "atlanta423", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 21, 148}}, + {Region: "US California", Hostname: "us-california.privacy.network", ServerName: "losangeles403", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 49, 117}}, + {Region: "US California", Hostname: "us-california.privacy.network", ServerName: "losangeles404", TCP: true, UDP: true, PortForward: false, IP: net.IP{84, 17, 45, 56}}, + {Region: "US California", Hostname: "us-california.privacy.network", ServerName: "losangeles406", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 50, 69}}, + {Region: "US California", Hostname: "us-california.privacy.network", ServerName: "losangeles409", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 49, 173}}, + {Region: "US California", Hostname: "us-california.privacy.network", ServerName: "losangeles420", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 50, 215}}, + {Region: "US Chicago", Hostname: "us-chicago.privacy.network", ServerName: "chicago409", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 28, 146}}, + {Region: "US Chicago", Hostname: "us-chicago.privacy.network", ServerName: "chicago411", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 23, 7}}, + {Region: "US Chicago", Hostname: "us-chicago.privacy.network", ServerName: "chicago413", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 23, 114}}, + {Region: "US Chicago", Hostname: "us-chicago.privacy.network", ServerName: "chicago417", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 114, 93}}, + {Region: "US Chicago", Hostname: "us-chicago.privacy.network", ServerName: "chicago419", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 114, 166}}, + {Region: "US Denver", Hostname: "us-denver.privacy.network", ServerName: "denver403", TCP: true, UDP: true, PortForward: false, IP: net.IP{70, 39, 116, 233}}, + {Region: "US Denver", Hostname: "us-denver.privacy.network", ServerName: "denver405", TCP: true, UDP: true, PortForward: false, IP: net.IP{70, 39, 110, 97}}, + {Region: "US Denver", Hostname: "us-denver.privacy.network", ServerName: "denver407", TCP: true, UDP: true, PortForward: false, IP: net.IP{70, 39, 108, 224}}, + {Region: "US Denver", Hostname: "us-denver.privacy.network", ServerName: "denver409", TCP: true, UDP: true, PortForward: false, IP: net.IP{70, 39, 113, 230}}, + {Region: "US Denver", Hostname: "us-denver.privacy.network", ServerName: "denver411", TCP: true, UDP: true, PortForward: false, IP: net.IP{37, 19, 210, 75}}, + {Region: "US East", Hostname: "us-newjersey.privacy.network", ServerName: "newjersey401", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 44, 79}}, + {Region: "US East", Hostname: "us-newjersey.privacy.network", ServerName: "newjersey402", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 45, 108}}, + {Region: "US East", Hostname: "us-newjersey.privacy.network", ServerName: "newjersey403", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 44, 40}}, + {Region: "US East", Hostname: "us-newjersey.privacy.network", ServerName: "newjersey409", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 45, 27}}, + {Region: "US East", Hostname: "us-newjersey.privacy.network", ServerName: "newjersey420", TCP: true, UDP: true, PortForward: false, IP: net.IP{37, 19, 197, 167}}, + {Region: "US Florida", Hostname: "us-florida.privacy.network", ServerName: "miami405", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 34, 240}}, + {Region: "US Florida", Hostname: "us-florida.privacy.network", ServerName: "miami409", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 42, 237}}, + {Region: "US Florida", Hostname: "us-florida.privacy.network", ServerName: "miami413", TCP: true, UDP: true, PortForward: false, IP: net.IP{212, 102, 61, 67}}, + {Region: "US Florida", Hostname: "us-florida.privacy.network", ServerName: "miami414", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 43, 118}}, + {Region: "US Florida", Hostname: "us-florida.privacy.network", ServerName: "miami415", TCP: true, UDP: true, PortForward: false, IP: net.IP{143, 244, 35, 44}}, + {Region: "US Houston", Hostname: "us-houston.privacy.network", ServerName: "houston421", TCP: true, UDP: true, PortForward: false, IP: net.IP{191, 96, 67, 78}}, + {Region: "US Houston", Hostname: "us-houston.privacy.network", ServerName: "houston424", TCP: true, UDP: true, PortForward: false, IP: net.IP{191, 96, 67, 184}}, + {Region: "US Houston", Hostname: "us-houston.privacy.network", ServerName: "houston425", TCP: true, UDP: true, PortForward: false, IP: net.IP{191, 96, 67, 210}}, + {Region: "US Houston", Hostname: "us-houston.privacy.network", ServerName: "houston428", TCP: true, UDP: true, PortForward: false, IP: net.IP{181, 214, 227, 58}}, + {Region: "US Houston", Hostname: "us-houston.privacy.network", ServerName: "houston429", TCP: true, UDP: true, PortForward: false, IP: net.IP{181, 214, 227, 70}}, + {Region: "US Las Vegas", Hostname: "us-lasvegas.privacy.network", ServerName: "lasvegas401", TCP: true, UDP: true, PortForward: false, IP: net.IP{173, 239, 226, 16}}, + {Region: "US Las Vegas", Hostname: "us-lasvegas.privacy.network", ServerName: "lasvegas405", TCP: true, UDP: true, PortForward: false, IP: net.IP{82, 102, 31, 104}}, + {Region: "US Las Vegas", Hostname: "us-lasvegas.privacy.network", ServerName: "lasvegas425", TCP: true, UDP: true, PortForward: false, IP: net.IP{173, 239, 226, 119}}, + {Region: "US Las Vegas", Hostname: "us-lasvegas.privacy.network", ServerName: "lasvegas426", TCP: true, UDP: true, PortForward: false, IP: net.IP{173, 239, 226, 173}}, + {Region: "US Las Vegas", Hostname: "us-lasvegas.privacy.network", ServerName: "lasvegas427", TCP: true, UDP: true, PortForward: false, IP: net.IP{173, 239, 226, 243}}, + {Region: "US New York", Hostname: "us-newyorkcity.privacy.network", ServerName: "newyork401", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 54, 234}}, + {Region: "US New York", Hostname: "us-newyorkcity.privacy.network", ServerName: "newyork407", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 36, 183}}, + {Region: "US New York", Hostname: "us-newyorkcity.privacy.network", ServerName: "newyork410", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 55, 148}}, + {Region: "US New York", Hostname: "us-newyorkcity.privacy.network", ServerName: "newyork413", TCP: true, UDP: true, PortForward: false, IP: net.IP{156, 146, 36, 250}}, + {Region: "US New York", Hostname: "us-newyorkcity.privacy.network", ServerName: "newyork433", TCP: true, UDP: true, PortForward: false, IP: net.IP{37, 19, 198, 68}}, + {Region: "US Seattle", Hostname: "us-seattle.privacy.network", ServerName: "seattle406", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 9, 128, 87}}, + {Region: "US Seattle", Hostname: "us-seattle.privacy.network", ServerName: "seattle415", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 20, 97}}, + {Region: "US Seattle", Hostname: "us-seattle.privacy.network", ServerName: "seattle416", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 20, 146}}, + {Region: "US Seattle", Hostname: "us-seattle.privacy.network", ServerName: "seattle418", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 20, 204}}, + {Region: "US Seattle", Hostname: "us-seattle.privacy.network", ServerName: "seattle424", TCP: true, UDP: true, PortForward: false, IP: net.IP{212, 102, 47, 153}}, + {Region: "US Silicon Valley", Hostname: "us-siliconvalley.privacy.network", ServerName: "siliconvalley401", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 212, 17}}, + {Region: "US Silicon Valley", Hostname: "us-siliconvalley.privacy.network", ServerName: "siliconvalley402", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 212, 74}}, + {Region: "US Silicon Valley", Hostname: "us-siliconvalley.privacy.network", ServerName: "siliconvalley404", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 212, 157}}, + {Region: "US Silicon Valley", Hostname: "us-siliconvalley.privacy.network", ServerName: "siliconvalley417", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 21, 216, 164}}, + {Region: "US Silicon Valley", Hostname: "us-siliconvalley.privacy.network", ServerName: "siliconvalley421", TCP: true, UDP: true, PortForward: false, IP: net.IP{66, 115, 165, 197}}, + {Region: "US Texas", Hostname: "us-texas.privacy.network", ServerName: "dallas404", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 3, 251, 15}}, + {Region: "US Texas", Hostname: "us-texas.privacy.network", ServerName: "dallas405", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 3, 251, 89}}, + {Region: "US Texas", Hostname: "us-texas.privacy.network", ServerName: "dallas410", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 29, 131, 7}}, + {Region: "US Texas", Hostname: "us-texas.privacy.network", ServerName: "dallas411", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 29, 131, 77}}, + {Region: "US Texas", Hostname: "us-texas.privacy.network", ServerName: "dallas415", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 3, 250, 16}}, + {Region: "US Washington DC", Hostname: "us-washingtondc.privacy.network", ServerName: "washington434", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 3, 44, 96}}, + {Region: "US Washington DC", Hostname: "us-washingtondc.privacy.network", ServerName: "washington439", TCP: true, UDP: true, PortForward: false, IP: net.IP{154, 3, 44, 254}}, + {Region: "US Washington DC", Hostname: "us-washingtondc.privacy.network", ServerName: "washington442", TCP: true, UDP: true, PortForward: false, IP: net.IP{38, 70, 11, 80}}, + {Region: "US Washington DC", Hostname: "us-washingtondc.privacy.network", ServerName: "washington444", TCP: true, UDP: true, PortForward: false, IP: net.IP{38, 70, 11, 137}}, + {Region: "US Washington DC", Hostname: "us-washingtondc.privacy.network", ServerName: "washington451", TCP: true, UDP: true, PortForward: false, IP: net.IP{91, 149, 244, 67}}, + {Region: "US West", Hostname: "us3.privacy.network", ServerName: "phoenix406", TCP: true, UDP: true, PortForward: false, IP: net.IP{184, 170, 241, 36}}, + {Region: "US West", Hostname: "us3.privacy.network", ServerName: "phoenix407", TCP: true, UDP: true, PortForward: false, IP: net.IP{184, 170, 241, 119}}, + {Region: "US West", Hostname: "us3.privacy.network", ServerName: "phoenix412", TCP: true, UDP: true, PortForward: false, IP: net.IP{107, 181, 184, 250}}, + {Region: "US West", Hostname: "us3.privacy.network", ServerName: "phoenix414", TCP: true, UDP: true, PortForward: false, IP: net.IP{184, 170, 242, 188}}, + {Region: "US West", Hostname: "us3.privacy.network", ServerName: "phoenix415", TCP: true, UDP: true, PortForward: false, IP: net.IP{184, 170, 242, 217}}, + {Region: "Ukraine", Hostname: "ua.privacy.network", ServerName: "kiev401", TCP: true, UDP: true, PortForward: true, IP: net.IP{62, 149, 20, 51}}, + {Region: "Ukraine", Hostname: "ua.privacy.network", ServerName: "kiev402", TCP: true, UDP: true, PortForward: true, IP: net.IP{62, 149, 20, 23}}, + {Region: "Ukraine", Hostname: "ua.privacy.network", ServerName: "kiev403", TCP: true, UDP: true, PortForward: true, IP: net.IP{62, 149, 20, 4}}, + {Region: "Ukraine", Hostname: "ua.privacy.network", ServerName: "kiev404", TCP: true, UDP: true, PortForward: true, IP: net.IP{62, 149, 20, 39}}, + {Region: "United Arab Emirates", Hostname: "ae.privacy.network", ServerName: "dubai403", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 193, 153}}, + {Region: "United Arab Emirates", Hostname: "ae.privacy.network", ServerName: "dubai404", TCP: true, UDP: true, PortForward: true, IP: net.IP{217, 138, 193, 166}}, + {Region: "Venezuela", Hostname: "venezuela.privacy.network", ServerName: "venezuela403", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 237, 13}}, + {Region: "Venezuela", Hostname: "venezuela.privacy.network", ServerName: "venezuela404", TCP: true, UDP: true, PortForward: true, IP: net.IP{95, 181, 237, 17}}, + {Region: "Vietnam", Hostname: "vietnam.privacy.network", ServerName: "vietnam401", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 152, 74}}, + {Region: "Vietnam", Hostname: "vietnam.privacy.network", ServerName: "vietnam402", TCP: true, UDP: true, PortForward: true, IP: net.IP{188, 214, 152, 86}}, } } diff --git a/internal/constants/servers.go b/internal/constants/servers.go index f22f5f2c..cb17645c 100644 --- a/internal/constants/servers.go +++ b/internal/constants/servers.go @@ -47,8 +47,8 @@ func GetAllServers() (allServers models.AllServers) { Servers: ProtonvpnServers(), }, Pia: models.PiaServers{ - Version: 4, - Timestamp: 1620435633, + Version: 5, + Timestamp: 1620577810, Servers: PIAServers(), }, Purevpn: models.PurevpnServers{ diff --git a/internal/constants/servers_test.go b/internal/constants/servers_test.go index efe7472d..bb512c76 100644 --- a/internal/constants/servers_test.go +++ b/internal/constants/servers_test.go @@ -67,7 +67,7 @@ func Test_versions(t *testing.T) { "Private Internet Access": { model: models.PIAServer{}, version: allServers.Pia.Version, - digest: "3e6066ec", + digest: "28cf3cde", }, "Privatevpn": { model: models.PrivatevpnServer{}, @@ -173,7 +173,7 @@ func Test_timestamps(t *testing.T) { "Private Internet Access": { servers: allServers.Pia.Servers, timestamp: allServers.Pia.Timestamp, - digest: "ac856af0", + digest: "cd386838", }, "Privatevpn": { servers: allServers.Privatevpn.Servers, diff --git a/internal/models/server.go b/internal/models/server.go index e608e7dd..088d21c4 100644 --- a/internal/models/server.go +++ b/internal/models/server.go @@ -92,6 +92,7 @@ func (s *PrivadoServer) String() string { type PIAServer struct { Region string `json:"region"` + Hostname string `json:"hostname"` ServerName string `json:"server_name"` TCP bool `json:"tcp"` UDP bool `json:"udp"` @@ -100,8 +101,8 @@ type PIAServer struct { } func (p *PIAServer) String() string { - return fmt.Sprintf("{Region: %q, ServerName: %q, TCP: %t, UDP: %t, PortForward: %t, IP: %s}", - p.Region, p.ServerName, p.TCP, p.UDP, p.PortForward, goStringifyIP(p.IP)) + return fmt.Sprintf("{Region: %q, Hostname: %q, ServerName: %q, TCP: %t, UDP: %t, PortForward: %t, IP: %s}", + p.Region, p.Hostname, p.ServerName, p.TCP, p.UDP, p.PortForward, goStringifyIP(p.IP)) } type PrivatevpnServer struct { diff --git a/internal/provider/piav4.go b/internal/provider/piav4.go index 0e7578e2..eb1126f3 100644 --- a/internal/provider/piav4.go +++ b/internal/provider/piav4.go @@ -93,6 +93,24 @@ func (p *pia) getPort(selection configuration.ServerSelection) (port uint16, err return port, nil } +func (p *pia) notFoundErr(regions, hostnames, names []string, protocol string) error { + message := "for protocol " + protocol + + if len(regions) > 0 { + message += " + regions " + commaJoin(regions) + } + + if len(hostnames) > 0 { + message += " + hostnames " + commaJoin(hostnames) + } + + if len(names) > 0 { + message += " + names " + commaJoin(names) + } + + return fmt.Errorf("%w: %s", errNoServerFound, message) +} + func (p *pia) GetOpenVPNConnection(selection configuration.ServerSelection) ( connection models.OpenVPNConnection, err error) { port, err := p.getPort(selection) @@ -104,10 +122,11 @@ func (p *pia) GetOpenVPNConnection(selection configuration.ServerSelection) ( if selection.TargetIP != nil { connection = models.OpenVPNConnection{IP: selection.TargetIP, Port: port, Protocol: selection.Protocol} } else { - servers := filterPIAServers(servers, selection.Regions, selection.Protocol) + servers := p.filterServers(selection.Regions, selection.Hostnames, + selection.Names, selection.Protocol) if len(servers) == 0 { - return connection, fmt.Errorf("no server found for region %s and protocol %s", - commaJoin(selection.Regions), selection.Protocol) + return connection, p.notFoundErr(selection.Regions, selection.Hostnames, + selection.Names, selection.Protocol) } var connections []models.OpenVPNConnection @@ -337,11 +356,13 @@ func (p *pia) PortForward(ctx context.Context, client *http.Client, } } -func filterPIAServers(servers []models.PIAServer, regions []string, protocol string) ( +func (p *pia) filterServers(regions, hostnames, names []string, protocol string) ( filtered []models.PIAServer) { - for _, server := range servers { + for _, server := range p.servers { switch { case filterByPossibilities(server.Region, regions), + filterByPossibilities(server.Hostname, hostnames), + filterByPossibilities(server.ServerName, names), protocol == constants.TCP && !server.TCP, protocol == constants.UDP && !server.UDP: default: diff --git a/internal/updater/providers/pia/api.go b/internal/updater/providers/pia/api.go index e230d1e6..7e2b7143 100644 --- a/internal/updater/providers/pia/api.go +++ b/internal/updater/providers/pia/api.go @@ -21,6 +21,7 @@ type apiData struct { type regionData struct { Name string `json:"name"` + DNS string `json:"dns"` PortForward bool `json:"port_forward"` Offline bool `json:"offline"` Servers struct { diff --git a/internal/updater/providers/pia/servers.go b/internal/updater/providers/pia/servers.go index 22618301..21dc8276 100644 --- a/internal/updater/providers/pia/servers.go +++ b/internal/updater/providers/pia/servers.go @@ -26,12 +26,12 @@ func GetServers(ctx context.Context, client *http.Client, minServers int) ( // newServers can support only UDP or both TCP and UDP newServers := dataToServers(region.Servers.UDP, region.Name, - region.PortForward, commonNameToProtocols) + region.DNS, region.PortForward, commonNameToProtocols) servers = append(servers, newServers...) // tcpServers only support TCP as mixed servers were found above. tcpServers := dataToServers(region.Servers.TCP, region.Name, - region.PortForward, commonNameToProtocols) + region.DNS, region.PortForward, commonNameToProtocols) servers = append(servers, tcpServers...) } @@ -66,8 +66,8 @@ func dedupByProtocol(region regionData) (commonNameToProtocols map[string]protoc return commonNameToProtocols } -func dataToServers(data []serverData, region string, portForward bool, - commonNameToProtocols map[string]protocols) ( +func dataToServers(data []serverData, region, hostname string, + portForward bool, commonNameToProtocols map[string]protocols) ( servers []models.PIAServer) { servers = make([]models.PIAServer, 0, len(data)) for _, serverData := range data { @@ -78,6 +78,7 @@ func dataToServers(data []serverData, region string, portForward bool, delete(commonNameToProtocols, serverData.CN) server := models.PIAServer{ Region: region, + Hostname: hostname, ServerName: serverData.CN, TCP: proto.tcp, UDP: proto.udp, diff --git a/internal/updater/providers/pia/sort.go b/internal/updater/providers/pia/sort.go index 4c3ed095..c906f3d5 100644 --- a/internal/updater/providers/pia/sort.go +++ b/internal/updater/providers/pia/sort.go @@ -9,7 +9,10 @@ import ( func sortServers(servers []models.PIAServer) { sort.Slice(servers, func(i, j int) bool { if servers[i].Region == servers[j].Region { - return servers[i].ServerName < servers[j].ServerName + if servers[i].Hostname == servers[j].Hostname { + return servers[i].ServerName < servers[j].ServerName + } + return servers[i].Hostname < servers[j].Hostname } return servers[i].Region < servers[j].Region })