From e254849009166a8ea66b6115d9e0c5dbf5352b4a Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Sat, 30 Jan 2021 18:22:15 +0000 Subject: [PATCH] Fix: update mechanism for PIA and update servers - Separate TCP and UDP servers as they have different CNs - Update server hardcoded information constants --- internal/constants/pia.go | 729 +++++++++++++++++++++++++---- internal/constants/servers.go | 4 +- internal/constants/servers_test.go | 4 +- internal/models/server.go | 22 +- internal/provider/piav4.go | 71 ++- internal/updater/pia.go | 42 +- 6 files changed, 692 insertions(+), 180 deletions(-) diff --git a/internal/constants/pia.go b/internal/constants/pia.go index dd0787c2..422b1905 100644 --- a/internal/constants/pia.go +++ b/internal/constants/pia.go @@ -28,104 +28,635 @@ func PIAGeoChoices() (choices []string) { //nolint:lll func PIAServers() []models.PIAServer { return []models.PIAServer{ - {Region: "AU Melbourne", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "melbourne404", IPs: []net.IP{{103, 2, 198, 93}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "melbourne404", IPs: []net.IP{{103, 2, 198, 85}}}}, - {Region: "AU Perth", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "perth403", IPs: []net.IP{{43, 250, 205, 156}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "perth403", IPs: []net.IP{{43, 250, 205, 153}}}}, - {Region: "AU Sydney", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "sydney408", IPs: []net.IP{{117, 120, 10, 56}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "sydney408", IPs: []net.IP{{117, 120, 10, 48}}}}, - {Region: "Albania", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "tirana402", IPs: []net.IP{{31, 171, 154, 115}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "tirana402", IPs: []net.IP{{31, 171, 154, 118}}}}, - {Region: "Algeria", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "algiers404", IPs: []net.IP{{176, 125, 228, 19}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "algiers404", IPs: []net.IP{{176, 125, 228, 26}}}}, - {Region: "Andorra", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "andorra405", IPs: []net.IP{{188, 241, 82, 40}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "andorra405", IPs: []net.IP{{188, 241, 82, 37}}}}, - {Region: "Argentina", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "buenosaires401", IPs: []net.IP{{190, 106, 134, 95}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "buenosaires401", IPs: []net.IP{{190, 106, 134, 85}}}}, - {Region: "Armenia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "armenia403", IPs: []net.IP{{185, 253, 160, 3}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "armenia403", IPs: []net.IP{{185, 253, 160, 9}}}}, - {Region: "Austria", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "vienna403", IPs: []net.IP{{156, 146, 60, 108}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "vienna403", IPs: []net.IP{{156, 146, 60, 110}}}}, - {Region: "Bahamas", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "bahamas404", IPs: []net.IP{{95, 181, 238, 9}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "bahamas404", IPs: []net.IP{{95, 181, 238, 9}}}}, - {Region: "Bangladesh", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "bangladesh403", IPs: []net.IP{{84, 252, 93, 7}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "bangladesh403", IPs: []net.IP{{84, 252, 93, 7}}}}, - {Region: "Belgium", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "brussels404", IPs: []net.IP{{37, 120, 143, 156}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "brussels404", IPs: []net.IP{{37, 120, 143, 156}}}}, - {Region: "Bosnia and Herzegovina", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "sarajevo402", IPs: []net.IP{{185, 212, 111, 4}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "sarajevo402", IPs: []net.IP{{185, 212, 111, 71}}}}, - {Region: "Brazil", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "saopaolo401", IPs: []net.IP{{45, 133, 180, 236}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "saopaolo401", IPs: []net.IP{{45, 133, 180, 227}}}}, - {Region: "Bulgaria", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "sofia402", IPs: []net.IP{{217, 138, 221, 89}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "sofia402", IPs: []net.IP{{217, 138, 221, 89}}}}, - {Region: "CA Montreal", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "montreal410", IPs: []net.IP{{199, 36, 223, 210}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "montreal410", IPs: []net.IP{{199, 36, 223, 210}}}}, - {Region: "CA Ontario", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "ontario408", IPs: []net.IP{{172, 98, 92, 87}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "ontario408", IPs: []net.IP{{172, 98, 92, 80}}}}, - {Region: "CA Toronto", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "toronto402", IPs: []net.IP{{66, 115, 142, 58}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "toronto402", IPs: []net.IP{{66, 115, 142, 58}}}}, - {Region: "CA Vancouver", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "vancouver411", IPs: []net.IP{{208, 78, 42, 168}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "vancouver411", IPs: []net.IP{{208, 78, 42, 161}}}}, - {Region: "Cambodia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "cambodia401", IPs: []net.IP{{188, 215, 235, 109}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "cambodia401", IPs: []net.IP{{188, 215, 235, 110}}}}, - {Region: "China", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "china404", IPs: []net.IP{{188, 241, 80, 9}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "china404", IPs: []net.IP{{188, 241, 80, 4}}}}, - {Region: "Cyprus", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "cyprus403", IPs: []net.IP{{185, 253, 162, 8}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "cyprus403", IPs: []net.IP{{185, 253, 162, 14}}}}, - {Region: "Czech Republic", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "prague405", IPs: []net.IP{{143, 244, 59, 168}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "prague405", IPs: []net.IP{{143, 244, 59, 154}}}}, - {Region: "DE Berlin", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "berlin425", IPs: []net.IP{{154, 13, 1, 148}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "berlin425", IPs: []net.IP{{154, 13, 1, 146}}}}, - {Region: "DE Frankfurt", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "frankfurt440", IPs: []net.IP{{185, 216, 33, 165}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "frankfurt440", IPs: []net.IP{{185, 216, 33, 166}}}}, - {Region: "Denmark", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "copenhagen404", IPs: []net.IP{{188, 126, 94, 190}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "copenhagen404", IPs: []net.IP{{188, 126, 94, 165}}}}, - {Region: "Egypt", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "cairo402", IPs: []net.IP{{188, 214, 122, 126}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "cairo402", IPs: []net.IP{{188, 214, 122, 123}}}}, - {Region: "Estonia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "talinn402", IPs: []net.IP{{95, 153, 31, 68}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "talinn402", IPs: []net.IP{{95, 153, 31, 78}}}}, - {Region: "Finland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "helsinki402", IPs: []net.IP{{188, 126, 89, 45}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "helsinki402", IPs: []net.IP{{188, 126, 89, 35}}}}, - {Region: "France", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "paris406", IPs: []net.IP{{143, 244, 57, 169}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "paris406", IPs: []net.IP{{143, 244, 57, 169}}}}, - {Region: "Georgia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "georgia403", IPs: []net.IP{{95, 181, 236, 8}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "georgia403", IPs: []net.IP{{95, 181, 236, 10}}}}, - {Region: "Greece", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "athens401", IPs: []net.IP{{154, 57, 3, 87}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "athens401", IPs: []net.IP{{154, 57, 3, 85}}}}, - {Region: "Greenland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "greenland404", IPs: []net.IP{{91, 90, 120, 149}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "greenland404", IPs: []net.IP{{91, 90, 120, 147}}}}, - {Region: "Hong Kong", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "china403", IPs: []net.IP{{86, 107, 104, 213}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "china403", IPs: []net.IP{{86, 107, 104, 219}}}}, - {Region: "Hungary", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "budapest402", IPs: []net.IP{{86, 106, 74, 115}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "budapest402", IPs: []net.IP{{86, 106, 74, 117}}}}, - {Region: "Iceland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "reykjavik402", IPs: []net.IP{{45, 133, 193, 83}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "reykjavik402", IPs: []net.IP{{45, 133, 193, 88}}}}, - {Region: "India", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "mumbai402", IPs: []net.IP{{45, 120, 139, 138}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "mumbai402", IPs: []net.IP{{45, 120, 139, 127}}}}, - {Region: "Ireland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "dublin411", IPs: []net.IP{{188, 241, 178, 23}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "dublin411", IPs: []net.IP{{188, 241, 178, 30}}}}, - {Region: "Isle of Man", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "douglas403", IPs: []net.IP{{91, 90, 124, 7}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "douglas403", IPs: []net.IP{{91, 90, 124, 18}}}}, - {Region: "Israel", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "jerusalem407", IPs: []net.IP{{185, 77, 248, 91}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "jerusalem407", IPs: []net.IP{{185, 77, 248, 91}}}}, - {Region: "Italy", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "milano403", IPs: []net.IP{{156, 146, 41, 74}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "milano403", IPs: []net.IP{{156, 146, 41, 84}}}}, - {Region: "Japan", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "tokyo401", IPs: []net.IP{{156, 146, 34, 130}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "tokyo401", IPs: []net.IP{{156, 146, 34, 130}}}}, - {Region: "Kazakhstan", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "kazakhstan403", IPs: []net.IP{{62, 133, 47, 13}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "kazakhstan403", IPs: []net.IP{{62, 133, 47, 5}}}}, - {Region: "Latvia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "riga401", IPs: []net.IP{{109, 248, 149, 5}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "riga401", IPs: []net.IP{{109, 248, 149, 8}}}}, - {Region: "Liechtenstein", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "liechtenstein403", IPs: []net.IP{{91, 90, 122, 7}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "liechtenstein403", IPs: []net.IP{{91, 90, 122, 18}}}}, - {Region: "Lithuania", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "vilnius403", IPs: []net.IP{{85, 206, 165, 118}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "vilnius403", IPs: []net.IP{{85, 206, 165, 116}}}}, - {Region: "Luxembourg", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "luxembourg407", IPs: []net.IP{{5, 253, 204, 150}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "luxembourg407", IPs: []net.IP{{5, 253, 204, 155}}}}, - {Region: "Macao", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "macau403", IPs: []net.IP{{84, 252, 92, 6}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "macau403", IPs: []net.IP{{84, 252, 92, 15}}}}, - {Region: "Macedonia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "macedonia401", IPs: []net.IP{{185, 225, 28, 120}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "macedonia401", IPs: []net.IP{{185, 225, 28, 120}}}}, - {Region: "Malta", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "malta403", IPs: []net.IP{{176, 125, 230, 13}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "malta403", IPs: []net.IP{{176, 125, 230, 7}}}}, - {Region: "Mexico", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "mexico403", IPs: []net.IP{{77, 81, 142, 14}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "mexico403", IPs: []net.IP{{77, 81, 142, 13}}}}, - {Region: "Moldova", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "chisinau401", IPs: []net.IP{{178, 175, 129, 44}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "chisinau401", IPs: []net.IP{{178, 175, 129, 46}}}}, - {Region: "Monaco", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "monaco403", IPs: []net.IP{{95, 181, 233, 8}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "monaco403", IPs: []net.IP{{95, 181, 233, 5}}}}, - {Region: "Mongolia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "mongolia403", IPs: []net.IP{{185, 253, 163, 15}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "mongolia403", IPs: []net.IP{{185, 253, 163, 5}}}}, - {Region: "Montenegro", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "montenegro403", IPs: []net.IP{{176, 125, 229, 14}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "montenegro403", IPs: []net.IP{{176, 125, 229, 4}}}}, - {Region: "Morocco", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "morocco403", IPs: []net.IP{{95, 181, 232, 4}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "morocco403", IPs: []net.IP{{95, 181, 232, 8}}}}, - {Region: "Netherlands", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "amsterdam412", IPs: []net.IP{{143, 244, 41, 196}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "amsterdam412", IPs: []net.IP{{143, 244, 41, 196}}}}, - {Region: "New Zealand", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "newzealand403", IPs: []net.IP{{43, 250, 207, 90}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "newzealand403", IPs: []net.IP{{43, 250, 207, 84}}}}, - {Region: "Nigeria", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "nigeria403", IPs: []net.IP{{102, 165, 25, 86}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "nigeria403", IPs: []net.IP{{102, 165, 25, 85}}}}, - {Region: "Norway", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "oslo401", IPs: []net.IP{{46, 246, 122, 37}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "oslo401", IPs: []net.IP{{46, 246, 122, 60}}}}, - {Region: "Panama", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "panama404", IPs: []net.IP{{91, 90, 126, 25}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "panama404", IPs: []net.IP{{91, 90, 126, 28}}}}, - {Region: "Philippines", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "philippines401", IPs: []net.IP{{188, 214, 125, 140}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "philippines401", IPs: []net.IP{{188, 214, 125, 137}}}}, - {Region: "Poland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "warsaw409", IPs: []net.IP{{194, 110, 114, 119}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "warsaw409", IPs: []net.IP{{194, 110, 114, 118}}}}, - {Region: "Portugal", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "lisbon402", IPs: []net.IP{{89, 26, 241, 87}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "lisbon402", IPs: []net.IP{{89, 26, 241, 88}}}}, - {Region: "Qatar", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "qatar403", IPs: []net.IP{{95, 181, 234, 9}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "qatar403", IPs: []net.IP{{95, 181, 234, 8}}}}, - {Region: "Romania", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "romania408", IPs: []net.IP{{143, 244, 54, 117}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "romania408", IPs: []net.IP{{143, 244, 54, 116}}}}, - {Region: "Saudi Arabia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "saudiarabia403", IPs: []net.IP{{95, 181, 235, 8}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "saudiarabia403", IPs: []net.IP{{95, 181, 235, 4}}}}, - {Region: "Serbia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "belgrade401", IPs: []net.IP{{37, 120, 193, 250}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "belgrade401", IPs: []net.IP{{37, 120, 193, 249}}}}, - {Region: "Singapore", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "singapore401", IPs: []net.IP{{156, 146, 57, 213}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "singapore401", IPs: []net.IP{{156, 146, 57, 197}}}}, - {Region: "Slovakia", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "bratislava402", IPs: []net.IP{{37, 120, 221, 213}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "bratislava402", IPs: []net.IP{{37, 120, 221, 218}}}}, - {Region: "South Africa", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "johannesburg401", IPs: []net.IP{{154, 16, 93, 33}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "johannesburg401", IPs: []net.IP{{154, 16, 93, 46}}}}, - {Region: "Spain", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "madrid401", IPs: []net.IP{{212, 102, 49, 68}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "madrid401", IPs: []net.IP{{212, 102, 49, 68}}}}, - {Region: "Sri Lanka", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "srilanka403", IPs: []net.IP{{95, 181, 239, 8}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "srilanka403", IPs: []net.IP{{95, 181, 239, 13}}}}, - {Region: "Sweden", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "stockholm401", IPs: []net.IP{{195, 246, 120, 4}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "stockholm401", IPs: []net.IP{{195, 246, 120, 39}}}}, - {Region: "Switzerland", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "zurich407", IPs: []net.IP{{156, 146, 62, 194}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "zurich407", IPs: []net.IP{{156, 146, 62, 194}}}}, - {Region: "Taiwan", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "taiwan401", IPs: []net.IP{{188, 214, 106, 74}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "taiwan401", IPs: []net.IP{{188, 214, 106, 69}}}}, - {Region: "Turkey", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "istanbul402", IPs: []net.IP{{188, 213, 34, 88}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "istanbul402", IPs: []net.IP{{188, 213, 34, 83}}}}, - {Region: "UK London", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "london405", IPs: []net.IP{{212, 102, 53, 15}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "london405", IPs: []net.IP{{212, 102, 53, 60}}}}, - {Region: "UK London-2", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "london420", IPs: []net.IP{{37, 235, 96, 200}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "london420", IPs: []net.IP{{37, 235, 96, 206}}}}, - {Region: "UK Manchester", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "manchester414", IPs: []net.IP{{194, 37, 96, 194}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "manchester414", IPs: []net.IP{{194, 37, 96, 197}}}}, - {Region: "UK Southampton", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "southampton401", IPs: []net.IP{{143, 244, 37, 244}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "southampton401", IPs: []net.IP{{143, 244, 37, 194}}}}, - {Region: "US Atlanta", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "atlanta417", IPs: []net.IP{{154, 21, 22, 216}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "atlanta417", IPs: []net.IP{{154, 21, 22, 216}}}}, - {Region: "US California", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "losangeles401", IPs: []net.IP{{143, 244, 48, 15}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "losangeles401", IPs: []net.IP{{143, 244, 48, 17}}}}, - {Region: "US Chicago", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "chicago413", IPs: []net.IP{{154, 21, 23, 125}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "chicago413", IPs: []net.IP{{154, 21, 23, 137}}}}, - {Region: "US Denver", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "denver410", IPs: []net.IP{{174, 128, 227, 24}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "denver410", IPs: []net.IP{{174, 128, 227, 24}}}}, - {Region: "US East", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "newjersey405", IPs: []net.IP{{143, 244, 46, 65}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "newjersey405", IPs: []net.IP{{143, 244, 46, 115}}}}, - {Region: "US Florida", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "miami407", IPs: []net.IP{{156, 146, 42, 78}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "miami407", IPs: []net.IP{{156, 146, 42, 113}}}}, - {Region: "US Houston", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "houston413", IPs: []net.IP{{205, 251, 142, 20}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "houston413", IPs: []net.IP{{205, 251, 142, 20}}}}, - {Region: "US Las Vegas", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "lasvegas426", IPs: []net.IP{{196, 53, 64, 175}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "lasvegas426", IPs: []net.IP{{196, 53, 64, 189}}}}, - {Region: "US New York", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "newyork404", IPs: []net.IP{{143, 244, 44, 227}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "newyork404", IPs: []net.IP{{143, 244, 44, 208}}}}, - {Region: "US Seattle", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "seattle422", IPs: []net.IP{{156, 146, 48, 204}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "seattle422", IPs: []net.IP{{156, 146, 48, 239}}}}, - {Region: "US Silicon Valley", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "siliconvalley420", IPs: []net.IP{{66, 115, 165, 93}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "siliconvalley420", IPs: []net.IP{{66, 115, 165, 80}}}}, - {Region: "US Texas", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "dallas415", IPs: []net.IP{{154, 3, 250, 16}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "dallas415", IPs: []net.IP{{154, 3, 250, 24}}}}, - {Region: "US Washington DC", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "washington452", IPs: []net.IP{{91, 149, 244, 110}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "washington452", IPs: []net.IP{{91, 149, 244, 114}}}}, - {Region: "US West", PortForward: false, OpenvpnUDP: models.PIAServerOpenvpn{CN: "phoenix413", IPs: []net.IP{{184, 170, 241, 169}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "phoenix413", IPs: []net.IP{{184, 170, 241, 169}}}}, - {Region: "Ukraine", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "kiev403", IPs: []net.IP{{62, 149, 20, 7}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "kiev403", IPs: []net.IP{{62, 149, 20, 4}}}}, - {Region: "United Arab Emirates", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "dubai403", IPs: []net.IP{{217, 138, 193, 153}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "dubai403", IPs: []net.IP{{217, 138, 193, 150}}}}, - {Region: "Venezuela", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "venezuela403", IPs: []net.IP{{95, 181, 237, 3}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "venezuela403", IPs: []net.IP{{95, 181, 237, 9}}}}, - {Region: "Vietnam", PortForward: true, OpenvpnUDP: models.PIAServerOpenvpn{CN: "vietnam401", IPs: []net.IP{{188, 214, 152, 67}}}, OpenvpnTCP: models.PIAServerOpenvpn{CN: "vietnam401", IPs: []net.IP{{188, 214, 152, 67}}}}, + {Region: "AU Melbourne", ServerName: "melbourne402", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 220}}, + {Region: "AU Melbourne", ServerName: "melbourne402", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 240}}, + {Region: "AU Melbourne", ServerName: "melbourne403", Protocol: "udp", PortForward: true, IP: net.IP{103, 2, 198, 75}}, + {Region: "AU Melbourne", ServerName: "melbourne403", Protocol: "udp", PortForward: true, IP: net.IP{103, 2, 198, 78}}, + {Region: "AU Melbourne", ServerName: "melbourne406", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 153}}, + {Region: "AU Melbourne", ServerName: "melbourne406", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 149}}, + {Region: "AU Melbourne", ServerName: "melbourne413", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 126}}, + {Region: "AU Melbourne", ServerName: "melbourne413", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 116}}, + {Region: "AU Melbourne", ServerName: "melbourne414", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 103}}, + {Region: "AU Melbourne", ServerName: "melbourne414", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 74, 110}}, + {Region: "AU Perth", ServerName: "perth403", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 148}}, + {Region: "AU Perth", ServerName: "perth403", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 154}}, + {Region: "AU Perth", ServerName: "perth404", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 186}}, + {Region: "AU Perth", ServerName: "perth404", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 179}}, + {Region: "AU Perth", ServerName: "perth405", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 139}}, + {Region: "AU Perth", ServerName: "perth405", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 205, 139}}, + {Region: "AU Sydney", ServerName: "sydney403", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 9, 42}}, + {Region: "AU Sydney", ServerName: "sydney403", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 9, 49}}, + {Region: "AU Sydney", ServerName: "sydney409", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 10, 143}}, + {Region: "AU Sydney", ServerName: "sydney409", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 10, 144}}, + {Region: "AU Sydney", ServerName: "sydney410", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 10, 104}}, + {Region: "AU Sydney", ServerName: "sydney410", Protocol: "udp", PortForward: true, IP: net.IP{117, 120, 10, 123}}, + {Region: "AU Sydney", ServerName: "sydney413", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 76, 84}}, + {Region: "AU Sydney", ServerName: "sydney413", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 76, 93}}, + {Region: "AU Sydney", ServerName: "sydney414", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 76, 99}}, + {Region: "AU Sydney", ServerName: "sydney414", Protocol: "udp", PortForward: true, IP: net.IP{27, 50, 76, 103}}, + {Region: "Albania", ServerName: "tirana401", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 133}}, + {Region: "Albania", ServerName: "tirana401", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 133}}, + {Region: "Albania", ServerName: "tirana402", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 123}}, + {Region: "Albania", ServerName: "tirana402", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 118}}, + {Region: "Albania", ServerName: "tirana403", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 68}}, + {Region: "Albania", ServerName: "tirana403", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 70}}, + {Region: "Albania", ServerName: "tirana404", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 55}}, + {Region: "Albania", ServerName: "tirana404", Protocol: "udp", PortForward: true, IP: net.IP{31, 171, 154, 61}}, + {Region: "Algeria", ServerName: "algiers403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 228, 4}}, + {Region: "Algeria", ServerName: "algiers403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 228, 4}}, + {Region: "Algeria", ServerName: "algiers404", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 228, 24}}, + {Region: "Algeria", ServerName: "algiers404", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 228, 26}}, + {Region: "Andorra", ServerName: "andorra403", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 9}}, + {Region: "Andorra", ServerName: "andorra403", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 5}}, + {Region: "Andorra", ServerName: "andorra404", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 25}}, + {Region: "Andorra", ServerName: "andorra404", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 24}}, + {Region: "Andorra", ServerName: "andorra405", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 38}}, + {Region: "Andorra", ServerName: "andorra405", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 82, 38}}, + {Region: "Argentina", ServerName: "buenosaires401", Protocol: "udp", PortForward: true, IP: net.IP{190, 106, 134, 83}}, + {Region: "Argentina", ServerName: "buenosaires401", Protocol: "udp", PortForward: true, IP: net.IP{190, 106, 134, 83}}, + {Region: "Armenia", ServerName: "armenia403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 160, 5}}, + {Region: "Armenia", ServerName: "armenia403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 160, 4}}, + {Region: "Austria", ServerName: "vienna402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 60, 45}}, + {Region: "Austria", ServerName: "vienna402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 60, 27}}, + {Region: "Austria", ServerName: "vienna403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 60, 68}}, + {Region: "Austria", ServerName: "vienna403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 60, 70}}, + {Region: "Bahamas", ServerName: "bahamas403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 238, 24}}, + {Region: "Bahamas", ServerName: "bahamas403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 238, 18}}, + {Region: "Bahamas", ServerName: "bahamas404", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 238, 6}}, + {Region: "Bahamas", ServerName: "bahamas404", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 238, 13}}, + {Region: "Bangladesh", ServerName: "bangladesh403", Protocol: "udp", PortForward: true, IP: net.IP{84, 252, 93, 14}}, + {Region: "Bangladesh", ServerName: "bangladesh403", Protocol: "udp", PortForward: true, IP: net.IP{84, 252, 93, 9}}, + {Region: "Belgium", ServerName: "brussels401", Protocol: "udp", PortForward: true, IP: net.IP{89, 249, 73, 212}}, + {Region: "Belgium", ServerName: "brussels401", Protocol: "udp", PortForward: true, IP: net.IP{89, 249, 73, 213}}, + {Region: "Belgium", ServerName: "brussels402", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 211, 253}}, + {Region: "Belgium", ServerName: "brussels402", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 211, 246}}, + {Region: "Belgium", ServerName: "brussels406", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 115, 28}}, + {Region: "Belgium", ServerName: "brussels406", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 115, 18}}, + {Region: "Belgium", ServerName: "brussels409", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 123, 6}}, + {Region: "Belgium", ServerName: "brussels409", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 123, 8}}, + {Region: "Belgium", ServerName: "brussels411", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 123, 57}}, + {Region: "Belgium", ServerName: "brussels411", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 123, 59}}, + {Region: "Bosnia and Herzegovina", ServerName: "sarajevo402", Protocol: "udp", PortForward: true, IP: net.IP{185, 212, 111, 63}}, + {Region: "Bosnia and Herzegovina", ServerName: "sarajevo402", Protocol: "udp", PortForward: true, IP: net.IP{185, 212, 111, 68}}, + {Region: "Brazil", ServerName: "saopaolo401", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 180, 228}}, + {Region: "Brazil", ServerName: "saopaolo401", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 180, 229}}, + {Region: "Brazil", ServerName: "saopaolo402", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 177, 59}}, + {Region: "Brazil", ServerName: "saopaolo402", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 177, 58}}, + {Region: "Brazil", ServerName: "saopaolo403", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 177, 118}}, + {Region: "Brazil", ServerName: "saopaolo403", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 177, 125}}, + {Region: "Brazil", ServerName: "saopaolo404", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 180, 244}}, + {Region: "Brazil", ServerName: "saopaolo404", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 180, 249}}, + {Region: "Bulgaria", ServerName: "sofia402", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 221, 87}}, + {Region: "Bulgaria", ServerName: "sofia402", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 221, 83}}, + {Region: "Bulgaria", ServerName: "sofia403", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 221, 76}}, + {Region: "Bulgaria", ServerName: "sofia403", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 221, 67}}, + {Region: "CA Montreal", ServerName: "montreal404", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 71, 178}}, + {Region: "CA Montreal", ServerName: "montreal404", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 71, 173}}, + {Region: "CA Montreal", ServerName: "montreal406", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 15}}, + {Region: "CA Montreal", ServerName: "montreal406", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 36}}, + {Region: "CA Montreal", ServerName: "montreal409", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 68, 33}}, + {Region: "CA Montreal", ServerName: "montreal409", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 68, 16}}, + {Region: "CA Montreal", ServerName: "montreal410", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 204}}, + {Region: "CA Montreal", ServerName: "montreal410", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 240}}, + {Region: "CA Montreal", ServerName: "montreal411", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 168}}, + {Region: "CA Montreal", ServerName: "montreal411", Protocol: "udp", PortForward: true, IP: net.IP{199, 36, 223, 155}}, + {Region: "CA Ontario", ServerName: "ontario401", Protocol: "udp", PortForward: true, IP: net.IP{172, 83, 47, 128}}, + {Region: "CA Ontario", ServerName: "ontario401", Protocol: "udp", PortForward: true, IP: net.IP{172, 83, 47, 97}}, + {Region: "CA Ontario", ServerName: "ontario402", Protocol: "udp", PortForward: true, IP: net.IP{172, 83, 47, 153}}, + {Region: "CA Ontario", ServerName: "ontario402", Protocol: "udp", PortForward: true, IP: net.IP{172, 83, 47, 153}}, + {Region: "CA Ontario", ServerName: "ontario406", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 80, 163}}, + {Region: "CA Ontario", ServerName: "ontario406", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 80, 140}}, + {Region: "CA Ontario", ServerName: "ontario407", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 80, 10}}, + {Region: "CA Ontario", ServerName: "ontario407", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 80, 38}}, + {Region: "CA Ontario", ServerName: "ontario409", Protocol: "udp", PortForward: true, IP: net.IP{66, 115, 145, 203}}, + {Region: "CA Ontario", ServerName: "ontario409", Protocol: "udp", PortForward: true, IP: net.IP{66, 115, 145, 230}}, + {Region: "CA Toronto", ServerName: "toronto403", Protocol: "udp", PortForward: true, IP: net.IP{66, 115, 142, 67}}, + {Region: "CA Toronto", ServerName: "toronto403", Protocol: "udp", PortForward: true, IP: net.IP{66, 115, 142, 74}}, + {Region: "CA Toronto", ServerName: "toronto414", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 4}}, + {Region: "CA Toronto", ServerName: "toronto414", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 20}}, + {Region: "CA Toronto", ServerName: "toronto417", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 118}}, + {Region: "CA Toronto", ServerName: "toronto417", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 96}}, + {Region: "CA Toronto", ServerName: "toronto418", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 153}}, + {Region: "CA Toronto", ServerName: "toronto418", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 40, 145}}, + {Region: "CA Toronto", ServerName: "toronto425", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 42, 119}}, + {Region: "CA Toronto", ServerName: "toronto425", Protocol: "udp", PortForward: true, IP: net.IP{154, 3, 42, 115}}, + {Region: "CA Vancouver", ServerName: "vancouver401", Protocol: "udp", PortForward: true, IP: net.IP{162, 216, 47, 48}}, + {Region: "CA Vancouver", ServerName: "vancouver401", Protocol: "udp", PortForward: true, IP: net.IP{162, 216, 47, 48}}, + {Region: "CA Vancouver", ServerName: "vancouver406", Protocol: "udp", PortForward: true, IP: net.IP{162, 216, 47, 205}}, + {Region: "CA Vancouver", ServerName: "vancouver406", Protocol: "udp", PortForward: true, IP: net.IP{162, 216, 47, 203}}, + {Region: "CA Vancouver", ServerName: "vancouver407", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 89, 67}}, + {Region: "CA Vancouver", ServerName: "vancouver407", Protocol: "udp", PortForward: true, IP: net.IP{172, 98, 89, 44}}, + {Region: "CA Vancouver", ServerName: "vancouver411", Protocol: "udp", PortForward: true, IP: net.IP{208, 78, 42, 138}}, + {Region: "CA Vancouver", ServerName: "vancouver411", Protocol: "udp", PortForward: true, IP: net.IP{208, 78, 42, 133}}, + {Region: "CA Vancouver", ServerName: "vancouver412", Protocol: "udp", PortForward: true, IP: net.IP{208, 78, 42, 226}}, + {Region: "CA Vancouver", ServerName: "vancouver412", Protocol: "udp", PortForward: true, IP: net.IP{208, 78, 42, 247}}, + {Region: "Cambodia", ServerName: "cambodia401", Protocol: "udp", PortForward: true, IP: net.IP{188, 215, 235, 110}}, + {Region: "Cambodia", ServerName: "cambodia401", Protocol: "udp", PortForward: true, IP: net.IP{188, 215, 235, 100}}, + {Region: "Cambodia", ServerName: "cambodia402", Protocol: "udp", PortForward: true, IP: net.IP{188, 215, 235, 125}}, + {Region: "Cambodia", ServerName: "cambodia402", Protocol: "udp", PortForward: true, IP: net.IP{188, 215, 235, 119}}, + {Region: "China", ServerName: "china404", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 80, 9}}, + {Region: "China", ServerName: "china404", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 80, 8}}, + {Region: "Cyprus", ServerName: "cyprus403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 162, 3}}, + {Region: "Cyprus", ServerName: "cyprus403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 162, 8}}, + {Region: "Czech Republic", ServerName: "prague401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 74}}, + {Region: "Czech Republic", ServerName: "prague401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 73}}, + {Region: "Czech Republic", ServerName: "prague402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 154}}, + {Region: "Czech Republic", ServerName: "prague402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 139}}, + {Region: "Czech Republic", ServerName: "prague403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 195}}, + {Region: "Czech Republic", ServerName: "prague403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 39, 195}}, + {Region: "DE Berlin", ServerName: "berlin416", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 5}}, + {Region: "DE Berlin", ServerName: "berlin416", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 6}}, + {Region: "DE Berlin", ServerName: "berlin417", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 30}}, + {Region: "DE Berlin", ServerName: "berlin417", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 25}}, + {Region: "DE Berlin", ServerName: "berlin421", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 88}}, + {Region: "DE Berlin", ServerName: "berlin421", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 88}}, + {Region: "DE Berlin", ServerName: "berlin424", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 136}}, + {Region: "DE Berlin", ServerName: "berlin424", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 126}}, + {Region: "DE Berlin", ServerName: "berlin425", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 151}}, + {Region: "DE Berlin", ServerName: "berlin425", Protocol: "udp", PortForward: true, IP: net.IP{154, 13, 1, 145}}, + {Region: "DE Frankfurt", ServerName: "frankfurt402", Protocol: "udp", PortForward: true, IP: net.IP{195, 181, 170, 229}}, + {Region: "DE Frankfurt", ServerName: "frankfurt402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 57, 217}}, + {Region: "DE Frankfurt", ServerName: "frankfurt405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 57, 45}}, + {Region: "DE Frankfurt", ServerName: "frankfurt405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 57, 3}}, + {Region: "DE Frankfurt", ServerName: "frankfurt407", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 18, 174}}, + {Region: "DE Frankfurt", ServerName: "frankfurt407", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 18, 136}}, + {Region: "DE Frankfurt", ServerName: "frankfurt408", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 18, 98}}, + {Region: "DE Frankfurt", ServerName: "frankfurt408", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 18, 104}}, + {Region: "DE Frankfurt", ServerName: "frankfurt410", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 57, 184}}, + {Region: "DE Frankfurt", ServerName: "frankfurt410", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 57, 184}}, + {Region: "Denmark", ServerName: "copenhagen402", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 75}}, + {Region: "Denmark", ServerName: "copenhagen402", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 89}}, + {Region: "Denmark", ServerName: "copenhagen403", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 103}}, + {Region: "Denmark", ServerName: "copenhagen403", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 103}}, + {Region: "Denmark", ServerName: "copenhagen404", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 176}}, + {Region: "Denmark", ServerName: "copenhagen404", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 174}}, + {Region: "Denmark", ServerName: "copenhagen405", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 35}}, + {Region: "Denmark", ServerName: "copenhagen405", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 94, 47}}, + {Region: "Egypt", ServerName: "cairo401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 122, 107}}, + {Region: "Egypt", ServerName: "cairo401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 122, 100}}, + {Region: "Egypt", ServerName: "cairo402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 122, 118}}, + {Region: "Egypt", ServerName: "cairo402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 122, 118}}, + {Region: "Estonia", ServerName: "talinn401", Protocol: "udp", PortForward: true, IP: net.IP{77, 247, 111, 138}}, + {Region: "Estonia", ServerName: "talinn401", Protocol: "udp", PortForward: true, IP: net.IP{77, 247, 111, 138}}, + {Region: "Estonia", ServerName: "talinn402", Protocol: "udp", PortForward: true, IP: net.IP{95, 153, 31, 68}}, + {Region: "Estonia", ServerName: "talinn402", Protocol: "udp", PortForward: true, IP: net.IP{95, 153, 31, 75}}, + {Region: "Finland", ServerName: "helsinki401", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 23}}, + {Region: "Finland", ServerName: "helsinki401", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 27}}, + {Region: "Finland", ServerName: "helsinki402", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 57}}, + {Region: "Finland", ServerName: "helsinki402", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 57}}, + {Region: "Finland", ServerName: "helsinki404", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 93}}, + {Region: "Finland", ServerName: "helsinki404", Protocol: "udp", PortForward: true, IP: net.IP{188, 126, 89, 84}}, + {Region: "France", ServerName: "paris402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 170}}, + {Region: "France", ServerName: "paris402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 178}}, + {Region: "France", ServerName: "paris404", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 4}}, + {Region: "France", ServerName: "paris404", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 4}}, + {Region: "France", ServerName: "paris405", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 103}}, + {Region: "France", ServerName: "paris405", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 63, 93}}, + {Region: "France", ServerName: "paris406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 57, 148}}, + {Region: "France", ServerName: "paris406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 57, 165}}, + {Region: "France", ServerName: "paris407", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 57, 239}}, + {Region: "France", ServerName: "paris407", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 57, 203}}, + {Region: "Georgia", ServerName: "georgia403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 236, 6}}, + {Region: "Georgia", ServerName: "georgia403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 236, 4}}, + {Region: "Greece", ServerName: "athens401", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 87}}, + {Region: "Greece", ServerName: "athens401", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 77}}, + {Region: "Greece", ServerName: "athens402", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 93}}, + {Region: "Greece", ServerName: "athens402", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 96}}, + {Region: "Greece", ServerName: "athens403", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 117}}, + {Region: "Greece", ServerName: "athens403", Protocol: "udp", PortForward: true, IP: net.IP{154, 57, 3, 114}}, + {Region: "Greenland", ServerName: "greenland403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 120, 134}}, + {Region: "Greenland", ServerName: "greenland403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 120, 131}}, + {Region: "Greenland", ServerName: "greenland404", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 120, 148}}, + {Region: "Greenland", ServerName: "greenland404", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 120, 156}}, + {Region: "Hong Kong", ServerName: "china403", Protocol: "udp", PortForward: true, IP: net.IP{86, 107, 104, 213}}, + {Region: "Hong Kong", ServerName: "china403", Protocol: "udp", PortForward: true, IP: net.IP{86, 107, 104, 214}}, + {Region: "Hong Kong", ServerName: "hongkong402", Protocol: "udp", PortForward: true, IP: net.IP{86, 107, 104, 244}}, + {Region: "Hong Kong", ServerName: "hongkong402", Protocol: "udp", PortForward: true, IP: net.IP{86, 107, 104, 243}}, + {Region: "Hong Kong", ServerName: "hongkong403", Protocol: "udp", PortForward: true, IP: net.IP{91, 219, 213, 7}}, + {Region: "Hong Kong", ServerName: "hongkong403", Protocol: "udp", PortForward: true, IP: net.IP{91, 219, 213, 18}}, + {Region: "Hungary", ServerName: "budapest401", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 192, 218}}, + {Region: "Hungary", ServerName: "budapest401", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 192, 222}}, + {Region: "Hungary", ServerName: "budapest402", Protocol: "udp", PortForward: true, IP: net.IP{86, 106, 74, 116}}, + {Region: "Hungary", ServerName: "budapest402", Protocol: "udp", PortForward: true, IP: net.IP{86, 106, 74, 116}}, + {Region: "Iceland", ServerName: "reykjavik401", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 39}}, + {Region: "Iceland", ServerName: "reykjavik401", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 37}}, + {Region: "Iceland", ServerName: "reykjavik402", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 84}}, + {Region: "Iceland", ServerName: "reykjavik402", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 84}}, + {Region: "Iceland", ServerName: "reykjavik403", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 76}}, + {Region: "Iceland", ServerName: "reykjavik403", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 67}}, + {Region: "Iceland", ServerName: "reykjavik404", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 56}}, + {Region: "Iceland", ServerName: "reykjavik404", Protocol: "udp", PortForward: true, IP: net.IP{45, 133, 193, 56}}, + {Region: "India", ServerName: "mumbai401", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 37}}, + {Region: "India", ServerName: "mumbai401", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 33}}, + {Region: "India", ServerName: "mumbai402", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 128}}, + {Region: "India", ServerName: "mumbai402", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 130}}, + {Region: "India", ServerName: "mumbai403", Protocol: "udp", PortForward: true, IP: net.IP{103, 150, 187, 4}}, + {Region: "India", ServerName: "mumbai403", Protocol: "udp", PortForward: true, IP: net.IP{103, 150, 187, 5}}, + {Region: "India", ServerName: "mumbai405", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 88}}, + {Region: "India", ServerName: "mumbai405", Protocol: "udp", PortForward: true, IP: net.IP{45, 120, 139, 98}}, + {Region: "Ireland", ServerName: "dublin404", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 20}}, + {Region: "Ireland", ServerName: "dublin404", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 20}}, + {Region: "Ireland", ServerName: "dublin405", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 10}}, + {Region: "Ireland", ServerName: "dublin405", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 8}}, + {Region: "Ireland", ServerName: "dublin407", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 236}}, + {Region: "Ireland", ServerName: "dublin407", Protocol: "udp", PortForward: true, IP: net.IP{193, 56, 252, 230}}, + {Region: "Ireland", ServerName: "dublin410", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 178, 5}}, + {Region: "Ireland", ServerName: "dublin410", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 178, 14}}, + {Region: "Ireland", ServerName: "dublin411", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 178, 26}}, + {Region: "Ireland", ServerName: "dublin411", Protocol: "udp", PortForward: true, IP: net.IP{188, 241, 178, 26}}, + {Region: "Isle of Man", ServerName: "douglas403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 124, 13}}, + {Region: "Isle of Man", ServerName: "douglas403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 124, 9}}, + {Region: "Israel", ServerName: "jerusalem402", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 33}}, + {Region: "Israel", ServerName: "jerusalem402", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 25}}, + {Region: "Israel", ServerName: "jerusalem404", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 50}}, + {Region: "Israel", ServerName: "jerusalem404", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 63}}, + {Region: "Israel", ServerName: "jerusalem405", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 66}}, + {Region: "Israel", ServerName: "jerusalem405", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 76}}, + {Region: "Israel", ServerName: "jerusalem406", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 86}}, + {Region: "Israel", ServerName: "jerusalem406", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 84}}, + {Region: "Israel", ServerName: "jerusalem407", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 98}}, + {Region: "Israel", ServerName: "jerusalem407", Protocol: "udp", PortForward: true, IP: net.IP{185, 77, 248, 93}}, + {Region: "Italy", ServerName: "milano402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 41, 14}}, + {Region: "Italy", ServerName: "milano402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 41, 60}}, + {Region: "Italy", ServerName: "milano403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 41, 96}}, + {Region: "Italy", ServerName: "milano403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 41, 66}}, + {Region: "Japan", ServerName: "tokyo401", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 155}}, + {Region: "Japan", ServerName: "tokyo401", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 155}}, + {Region: "Japan", ServerName: "tokyo402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 117}}, + {Region: "Japan", ServerName: "tokyo402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 113}}, + {Region: "Japan", ServerName: "tokyo403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 15}}, + {Region: "Japan", ServerName: "tokyo403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 34, 46}}, + {Region: "Kazakhstan", ServerName: "kazakhstan403", Protocol: "udp", PortForward: true, IP: net.IP{62, 133, 47, 5}}, + {Region: "Kazakhstan", ServerName: "kazakhstan403", Protocol: "udp", PortForward: true, IP: net.IP{62, 133, 47, 9}}, + {Region: "Latvia", ServerName: "riga401", Protocol: "udp", PortForward: true, IP: net.IP{109, 248, 149, 10}}, + {Region: "Latvia", ServerName: "riga401", Protocol: "udp", PortForward: true, IP: net.IP{109, 248, 149, 4}}, + {Region: "Latvia", ServerName: "riga402", Protocol: "udp", PortForward: true, IP: net.IP{46, 183, 218, 133}}, + {Region: "Latvia", ServerName: "riga402", Protocol: "udp", PortForward: true, IP: net.IP{46, 183, 218, 135}}, + {Region: "Latvia", ServerName: "riga403", Protocol: "udp", PortForward: true, IP: net.IP{46, 183, 218, 153}}, + {Region: "Latvia", ServerName: "riga403", Protocol: "udp", PortForward: true, IP: net.IP{46, 183, 218, 154}}, + {Region: "Liechtenstein", ServerName: "liechtenstein403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 122, 8}}, + {Region: "Liechtenstein", ServerName: "liechtenstein403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 122, 4}}, + {Region: "Lithuania", ServerName: "vilnius401", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 173}}, + {Region: "Lithuania", ServerName: "vilnius401", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 173}}, + {Region: "Lithuania", ServerName: "vilnius402", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 103}}, + {Region: "Lithuania", ServerName: "vilnius402", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 106}}, + {Region: "Lithuania", ServerName: "vilnius403", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 123}}, + {Region: "Lithuania", ServerName: "vilnius403", Protocol: "udp", PortForward: true, IP: net.IP{85, 206, 165, 123}}, + {Region: "Luxembourg", ServerName: "luxembourg404", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 110}}, + {Region: "Luxembourg", ServerName: "luxembourg404", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 109}}, + {Region: "Luxembourg", ServerName: "luxembourg405", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 118}}, + {Region: "Luxembourg", ServerName: "luxembourg405", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 119}}, + {Region: "Luxembourg", ServerName: "luxembourg406", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 133}}, + {Region: "Luxembourg", ServerName: "luxembourg406", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 136}}, + {Region: "Luxembourg", ServerName: "luxembourg407", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 156}}, + {Region: "Luxembourg", ServerName: "luxembourg407", Protocol: "udp", PortForward: true, IP: net.IP{5, 253, 204, 153}}, + {Region: "Macao", ServerName: "macau403", Protocol: "udp", PortForward: true, IP: net.IP{84, 252, 92, 4}}, + {Region: "Macao", ServerName: "macau403", Protocol: "udp", PortForward: true, IP: net.IP{84, 252, 92, 4}}, + {Region: "Macedonia", ServerName: "macedonia401", Protocol: "udp", PortForward: true, IP: net.IP{185, 225, 28, 120}}, + {Region: "Macedonia", ServerName: "macedonia401", Protocol: "udp", PortForward: true, IP: net.IP{185, 225, 28, 120}}, + {Region: "Macedonia", ServerName: "macedonia402", Protocol: "udp", PortForward: true, IP: net.IP{185, 225, 28, 140}}, + {Region: "Macedonia", ServerName: "macedonia402", Protocol: "udp", PortForward: true, IP: net.IP{185, 225, 28, 141}}, + {Region: "Malta", ServerName: "malta403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 230, 5}}, + {Region: "Malta", ServerName: "malta403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 230, 7}}, + {Region: "Mexico", ServerName: "mexico403", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 15}}, + {Region: "Mexico", ServerName: "mexico403", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 10}}, + {Region: "Mexico", ServerName: "mexico404", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 24}}, + {Region: "Mexico", ServerName: "mexico404", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 26}}, + {Region: "Mexico", ServerName: "mexico407", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 71}}, + {Region: "Mexico", ServerName: "mexico407", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 64}}, + {Region: "Mexico", ServerName: "mexico409", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 97}}, + {Region: "Mexico", ServerName: "mexico409", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 96}}, + {Region: "Mexico", ServerName: "mexico412", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 205}}, + {Region: "Mexico", ServerName: "mexico412", Protocol: "udp", PortForward: true, IP: net.IP{77, 81, 142, 199}}, + {Region: "Moldova", ServerName: "chisinau401", Protocol: "udp", PortForward: true, IP: net.IP{178, 175, 129, 39}}, + {Region: "Moldova", ServerName: "chisinau401", Protocol: "udp", PortForward: true, IP: net.IP{178, 175, 129, 44}}, + {Region: "Monaco", ServerName: "monaco403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 233, 4}}, + {Region: "Monaco", ServerName: "monaco403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 233, 3}}, + {Region: "Mongolia", ServerName: "mongolia403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 163, 14}}, + {Region: "Mongolia", ServerName: "mongolia403", Protocol: "udp", PortForward: true, IP: net.IP{185, 253, 163, 3}}, + {Region: "Montenegro", ServerName: "montenegro403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 229, 15}}, + {Region: "Montenegro", ServerName: "montenegro403", Protocol: "udp", PortForward: true, IP: net.IP{176, 125, 229, 9}}, + {Region: "Morocco", ServerName: "morocco403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 232, 4}}, + {Region: "Morocco", ServerName: "morocco403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 232, 12}}, + {Region: "Netherlands", ServerName: "amsterdam401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 35, 25}}, + {Region: "Netherlands", ServerName: "amsterdam401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 35, 27}}, + {Region: "Netherlands", ServerName: "amsterdam402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 34, 147}}, + {Region: "Netherlands", ServerName: "amsterdam402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 34, 156}}, + {Region: "Netherlands", ServerName: "amsterdam403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 34, 170}}, + {Region: "Netherlands", ServerName: "amsterdam403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 34, 220}}, + {Region: "Netherlands", ServerName: "amsterdam408", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 43, 187}}, + {Region: "Netherlands", ServerName: "amsterdam408", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 43, 187}}, + {Region: "Netherlands", ServerName: "amsterdam420", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 41, 17}}, + {Region: "Netherlands", ServerName: "amsterdam420", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 41, 25}}, + {Region: "New Zealand", ServerName: "newzealand403", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 207, 88}}, + {Region: "New Zealand", ServerName: "newzealand403", Protocol: "udp", PortForward: true, IP: net.IP{43, 250, 207, 84}}, + {Region: "New Zealand", ServerName: "newzealand404", Protocol: "udp", PortForward: true, IP: net.IP{202, 60, 86, 27}}, + {Region: "New Zealand", ServerName: "newzealand404", Protocol: "udp", PortForward: true, IP: net.IP{202, 60, 86, 15}}, + {Region: "New Zealand", ServerName: "newzealand405", Protocol: "udp", PortForward: true, IP: net.IP{202, 60, 86, 99}}, + {Region: "New Zealand", ServerName: "newzealand405", Protocol: "udp", PortForward: true, IP: net.IP{202, 60, 86, 118}}, + {Region: "Nigeria", ServerName: "nigeria403", Protocol: "udp", PortForward: true, IP: net.IP{102, 165, 25, 84}}, + {Region: "Nigeria", ServerName: "nigeria403", Protocol: "udp", PortForward: true, IP: net.IP{102, 165, 25, 90}}, + {Region: "Nigeria", ServerName: "nigeria404", Protocol: "udp", PortForward: true, IP: net.IP{102, 165, 25, 126}}, + {Region: "Nigeria", ServerName: "nigeria404", Protocol: "udp", PortForward: true, IP: net.IP{102, 165, 25, 117}}, + {Region: "Norway", ServerName: "oslo401", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 35}}, + {Region: "Norway", ServerName: "oslo401", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 39}}, + {Region: "Norway", ServerName: "oslo402", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 85}}, + {Region: "Norway", ServerName: "oslo402", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 69}}, + {Region: "Norway", ServerName: "oslo403", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 107}}, + {Region: "Norway", ServerName: "oslo403", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 125}}, + {Region: "Norway", ServerName: "oslo404", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 167}}, + {Region: "Norway", ServerName: "oslo404", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 122, 176}}, + {Region: "Panama", ServerName: "panama403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 126, 14}}, + {Region: "Panama", ServerName: "panama403", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 126, 4}}, + {Region: "Panama", ServerName: "panama404", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 126, 29}}, + {Region: "Panama", ServerName: "panama404", Protocol: "udp", PortForward: true, IP: net.IP{91, 90, 126, 23}}, + {Region: "Philippines", ServerName: "philippines401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 125, 135}}, + {Region: "Philippines", ServerName: "philippines401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 125, 134}}, + {Region: "Philippines", ServerName: "philippines402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 125, 147}}, + {Region: "Philippines", ServerName: "philippines402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 125, 149}}, + {Region: "Poland", ServerName: "warsaw401", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 209, 244}}, + {Region: "Poland", ServerName: "warsaw401", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 209, 242}}, + {Region: "Poland", ServerName: "warsaw402", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 13}}, + {Region: "Poland", ServerName: "warsaw402", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 4}}, + {Region: "Poland", ServerName: "warsaw405", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 55}}, + {Region: "Poland", ServerName: "warsaw405", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 53}}, + {Region: "Poland", ServerName: "warsaw406", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 68}}, + {Region: "Poland", ServerName: "warsaw406", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 69}}, + {Region: "Poland", ServerName: "warsaw409", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 119}}, + {Region: "Poland", ServerName: "warsaw409", Protocol: "udp", PortForward: true, IP: net.IP{194, 110, 114, 115}}, + {Region: "Portugal", ServerName: "lisbon401", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 75}}, + {Region: "Portugal", ServerName: "lisbon401", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 82}}, + {Region: "Portugal", ServerName: "lisbon402", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 99}}, + {Region: "Portugal", ServerName: "lisbon402", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 96}}, + {Region: "Portugal", ServerName: "lisbon403", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 133}}, + {Region: "Portugal", ServerName: "lisbon403", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 145}}, + {Region: "Portugal", ServerName: "lisbon404", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 115}}, + {Region: "Portugal", ServerName: "lisbon404", Protocol: "udp", PortForward: true, IP: net.IP{89, 26, 241, 103}}, + {Region: "Qatar", ServerName: "qatar403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 234, 8}}, + {Region: "Qatar", ServerName: "qatar403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 234, 6}}, + {Region: "Romania", ServerName: "romania406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 52, 19}}, + {Region: "Romania", ServerName: "romania406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 52, 33}}, + {Region: "Romania", ServerName: "romania407", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 153}}, + {Region: "Romania", ServerName: "romania407", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 154}}, + {Region: "Romania", ServerName: "romania408", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 70}}, + {Region: "Romania", ServerName: "romania408", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 116}}, + {Region: "Romania", ServerName: "romania409", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 43}}, + {Region: "Romania", ServerName: "romania409", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 54, 43}}, + {Region: "Saudi Arabia", ServerName: "saudiarabia403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 235, 16}}, + {Region: "Saudi Arabia", ServerName: "saudiarabia403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 235, 16}}, + {Region: "Serbia", ServerName: "belgrade401", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 193, 254}}, + {Region: "Serbia", ServerName: "belgrade401", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 193, 243}}, + {Region: "Serbia", ServerName: "belgrade402", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 193, 237}}, + {Region: "Serbia", ServerName: "belgrade402", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 193, 229}}, + {Region: "Singapore", ServerName: "singapore401", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 175}}, + {Region: "Singapore", ServerName: "singapore401", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 178}}, + {Region: "Singapore", ServerName: "singapore402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 108}}, + {Region: "Singapore", ServerName: "singapore402", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 160}}, + {Region: "Singapore", ServerName: "singapore403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 89}}, + {Region: "Singapore", ServerName: "singapore403", Protocol: "udp", PortForward: true, IP: net.IP{156, 146, 57, 89}}, + {Region: "Slovakia", ServerName: "bratislava401", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 221, 84}}, + {Region: "Slovakia", ServerName: "bratislava401", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 221, 86}}, + {Region: "Slovakia", ServerName: "bratislava402", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 221, 214}}, + {Region: "Slovakia", ServerName: "bratislava402", Protocol: "udp", PortForward: true, IP: net.IP{37, 120, 221, 217}}, + {Region: "South Africa", ServerName: "johannesburg401", Protocol: "udp", PortForward: true, IP: net.IP{154, 16, 93, 34}}, + {Region: "South Africa", ServerName: "johannesburg401", Protocol: "udp", PortForward: true, IP: net.IP{154, 16, 93, 35}}, + {Region: "South Africa", ServerName: "johannesburg403", Protocol: "udp", PortForward: true, IP: net.IP{154, 16, 93, 234}}, + {Region: "South Africa", ServerName: "johannesburg403", Protocol: "udp", PortForward: true, IP: net.IP{154, 16, 93, 233}}, + {Region: "Spain", ServerName: "madrid401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 49, 106}}, + {Region: "Spain", ServerName: "madrid401", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 49, 116}}, + {Region: "Spain", ServerName: "madrid402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 49, 34}}, + {Region: "Spain", ServerName: "madrid402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 49, 25}}, + {Region: "Sri Lanka", ServerName: "srilanka403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 239, 9}}, + {Region: "Sri Lanka", ServerName: "srilanka403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 239, 10}}, + {Region: "Sweden", ServerName: "stockholm401", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 33}}, + {Region: "Sweden", ServerName: "stockholm401", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 14}}, + {Region: "Sweden", ServerName: "stockholm402", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 59}}, + {Region: "Sweden", ServerName: "stockholm402", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 60}}, + {Region: "Sweden", ServerName: "stockholm403", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 103}}, + {Region: "Sweden", ServerName: "stockholm403", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 84}}, + {Region: "Sweden", ServerName: "stockholm404", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 129}}, + {Region: "Sweden", ServerName: "stockholm404", Protocol: "udp", PortForward: true, IP: net.IP{195, 246, 120, 118}}, + {Region: "Sweden", ServerName: "stockholm405", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 3, 204}}, + {Region: "Sweden", ServerName: "stockholm405", Protocol: "udp", PortForward: true, IP: net.IP{46, 246, 3, 190}}, + {Region: "Switzerland", ServerName: "zurich403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 37, 116}}, + {Region: "Switzerland", ServerName: "zurich403", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 37, 156}}, + {Region: "Switzerland", ServerName: "zurich404", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 37, 105}}, + {Region: "Switzerland", ServerName: "zurich404", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 37, 100}}, + {Region: "Switzerland", ServerName: "zurich405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 16}}, + {Region: "Switzerland", ServerName: "zurich405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 16}}, + {Region: "Switzerland", ServerName: "zurich407", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 163}}, + {Region: "Switzerland", ServerName: "zurich407", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 163}}, + {Region: "Switzerland", ServerName: "zurich408", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 184}}, + {Region: "Switzerland", ServerName: "zurich408", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 36, 175}}, + {Region: "Taiwan", ServerName: "taiwan401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 69}}, + {Region: "Taiwan", ServerName: "taiwan401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 68}}, + {Region: "Taiwan", ServerName: "taiwan402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 89}}, + {Region: "Taiwan", ServerName: "taiwan402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 89}}, + {Region: "Taiwan", ServerName: "taiwan403", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 144}}, + {Region: "Taiwan", ServerName: "taiwan403", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 106, 140}}, + {Region: "Turkey", ServerName: "istanbul401", Protocol: "udp", PortForward: true, IP: net.IP{188, 213, 34, 70}}, + {Region: "Turkey", ServerName: "istanbul401", Protocol: "udp", PortForward: true, IP: net.IP{188, 213, 34, 73}}, + {Region: "Turkey", ServerName: "istanbul402", Protocol: "udp", PortForward: true, IP: net.IP{188, 213, 34, 85}}, + {Region: "Turkey", ServerName: "istanbul402", Protocol: "udp", PortForward: true, IP: net.IP{188, 213, 34, 86}}, + {Region: "UK London", ServerName: "london402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 63, 170}}, + {Region: "UK London", ServerName: "london402", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 63, 140}}, + {Region: "UK London", ServerName: "london404", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 52, 86}}, + {Region: "UK London", ServerName: "london404", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 52, 94}}, + {Region: "UK London", ServerName: "london405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 53}}, + {Region: "UK London", ServerName: "london405", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 26}}, + {Region: "UK London", ServerName: "london412", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 96, 77}}, + {Region: "UK London", ServerName: "london412", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 96, 90}}, + {Region: "UK London", ServerName: "london414", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 230}}, + {Region: "UK London", ServerName: "london414", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 194}}, + {Region: "UK London - Streaming Optimized", ServerName: "london419", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 97, 19}}, + {Region: "UK London - Streaming Optimized", ServerName: "london419", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 97, 16}}, + {Region: "UK London - Streaming Optimized", ServerName: "london420", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 96, 203}}, + {Region: "UK London - Streaming Optimized", ServerName: "london420", Protocol: "udp", PortForward: true, IP: net.IP{37, 235, 96, 199}}, + {Region: "UK London - Streaming Optimized", ServerName: "london429", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 139}}, + {Region: "UK London - Streaming Optimized", ServerName: "london429", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 133}}, + {Region: "UK London - Streaming Optimized", ServerName: "london430", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 146}}, + {Region: "UK London - Streaming Optimized", ServerName: "london430", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 146}}, + {Region: "UK London - Streaming Optimized", ServerName: "london431", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 160}}, + {Region: "UK London - Streaming Optimized", ServerName: "london431", Protocol: "udp", PortForward: true, IP: net.IP{138, 199, 29, 164}}, + {Region: "UK Manchester", ServerName: "manchester403", Protocol: "udp", PortForward: true, IP: net.IP{193, 239, 84, 66}}, + {Region: "UK Manchester", ServerName: "manchester403", Protocol: "udp", PortForward: true, IP: net.IP{193, 239, 84, 76}}, + {Region: "UK Manchester", ServerName: "manchester406", Protocol: "udp", PortForward: true, IP: net.IP{89, 44, 201, 245}}, + {Region: "UK Manchester", ServerName: "manchester406", Protocol: "udp", PortForward: true, IP: net.IP{89, 44, 201, 245}}, + {Region: "UK Manchester", ServerName: "manchester408", Protocol: "udp", PortForward: true, IP: net.IP{89, 44, 201, 217}}, + {Region: "UK Manchester", ServerName: "manchester408", Protocol: "udp", PortForward: true, IP: net.IP{89, 44, 201, 210}}, + {Region: "UK Manchester", ServerName: "manchester409", Protocol: "udp", PortForward: true, IP: net.IP{194, 37, 96, 18}}, + {Region: "UK Manchester", ServerName: "manchester409", Protocol: "udp", PortForward: true, IP: net.IP{194, 37, 96, 29}}, + {Region: "UK Manchester", ServerName: "manchester414", Protocol: "udp", PortForward: true, IP: net.IP{194, 37, 96, 198}}, + {Region: "UK Manchester", ServerName: "manchester414", Protocol: "udp", PortForward: true, IP: net.IP{194, 37, 96, 206}}, + {Region: "UK Southampton", ServerName: "southampton401", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 37, 208}}, + {Region: "UK Southampton", ServerName: "southampton401", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 37, 228}}, + {Region: "UK Southampton", ServerName: "southampton402", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 37, 144}}, + {Region: "UK Southampton", ServerName: "southampton402", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 37, 175}}, + {Region: "UK Southampton", ServerName: "southampton405", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 36, 104}}, + {Region: "UK Southampton", ServerName: "southampton405", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 36, 113}}, + {Region: "UK Southampton", ServerName: "southampton406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 38, 109}}, + {Region: "UK Southampton", ServerName: "southampton406", Protocol: "udp", PortForward: true, IP: net.IP{143, 244, 38, 109}}, + {Region: "UK Southampton", ServerName: "southampton410", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 85}}, + {Region: "UK Southampton", ServerName: "southampton410", Protocol: "udp", PortForward: true, IP: net.IP{212, 102, 53, 84}}, + {Region: "US Atlanta", ServerName: "atlanta412", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 22, 59}}, + {Region: "US Atlanta", ServerName: "atlanta412", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 22, 39}}, + {Region: "US Atlanta", ServerName: "atlanta418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 22, 229}}, + {Region: "US Atlanta", ServerName: "atlanta418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 22, 233}}, + {Region: "US Atlanta", ServerName: "atlanta419", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 25}}, + {Region: "US Atlanta", ServerName: "atlanta419", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 33}}, + {Region: "US Atlanta", ServerName: "atlanta421", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 74}}, + {Region: "US Atlanta", ServerName: "atlanta421", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 88}}, + {Region: "US Atlanta", ServerName: "atlanta422", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 103}}, + {Region: "US Atlanta", ServerName: "atlanta422", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 21, 129}}, + {Region: "US California", ServerName: "losangeles401", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 48, 24}}, + {Region: "US California", ServerName: "losangeles401", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 48, 36}}, + {Region: "US California", ServerName: "losangeles402", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 49, 33}}, + {Region: "US California", ServerName: "losangeles402", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 49, 43}}, + {Region: "US California", ServerName: "losangeles404", Protocol: "udp", PortForward: false, IP: net.IP{84, 17, 45, 40}}, + {Region: "US California", ServerName: "losangeles404", Protocol: "udp", PortForward: false, IP: net.IP{84, 17, 45, 3}}, + {Region: "US California", ServerName: "losangeles409", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 49, 166}}, + {Region: "US California", ServerName: "losangeles409", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 49, 166}}, + {Region: "US California", ServerName: "losangeles418", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 8, 93}}, + {Region: "US California", ServerName: "losangeles418", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 8, 94}}, + {Region: "US Chicago", ServerName: "chicago407", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 28, 73}}, + {Region: "US Chicago", ServerName: "chicago407", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 28, 88}}, + {Region: "US Chicago", ServerName: "chicago410", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 28, 220}}, + {Region: "US Chicago", ServerName: "chicago410", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 28, 249}}, + {Region: "US Chicago", ServerName: "chicago411", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 23, 9}}, + {Region: "US Chicago", ServerName: "chicago411", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 23, 6}}, + {Region: "US Chicago", ServerName: "chicago412", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 23, 64}}, + {Region: "US Chicago", ServerName: "chicago412", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 23, 60}}, + {Region: "US Chicago", ServerName: "chicago418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 114, 126}}, + {Region: "US Chicago", ServerName: "chicago418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 114, 108}}, + {Region: "US Denver", ServerName: "denver401", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 81, 148}}, + {Region: "US Denver", ServerName: "denver401", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 81, 154}}, + {Region: "US Denver", ServerName: "denver402", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 126, 175}}, + {Region: "US Denver", ServerName: "denver402", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 126, 174}}, + {Region: "US Denver", ServerName: "denver405", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 110, 125}}, + {Region: "US Denver", ServerName: "denver405", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 110, 125}}, + {Region: "US Denver", ServerName: "denver406", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 77, 166}}, + {Region: "US Denver", ServerName: "denver406", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 77, 183}}, + {Region: "US Denver", ServerName: "denver408", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 92, 24}}, + {Region: "US Denver", ServerName: "denver408", Protocol: "udp", PortForward: false, IP: net.IP{70, 39, 92, 28}}, + {Region: "US East", ServerName: "newjersey401", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 73}}, + {Region: "US East", ServerName: "newjersey401", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 76}}, + {Region: "US East", ServerName: "newjersey402", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 45, 85}}, + {Region: "US East", ServerName: "newjersey402", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 45, 105}}, + {Region: "US East", ServerName: "newjersey403", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 28}}, + {Region: "US East", ServerName: "newjersey403", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 43}}, + {Region: "US East", ServerName: "newjersey407", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 47, 156}}, + {Region: "US East", ServerName: "newjersey407", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 47, 156}}, + {Region: "US East", ServerName: "newjersey413", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 45, 190}}, + {Region: "US East", ServerName: "newjersey413", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 45, 196}}, + {Region: "US Florida", ServerName: "miami404", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 34, 184}}, + {Region: "US Florida", ServerName: "miami404", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 34, 184}}, + {Region: "US Florida", ServerName: "miami405", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 34, 208}}, + {Region: "US Florida", ServerName: "miami405", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 34, 210}}, + {Region: "US Florida", ServerName: "miami406", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 42, 13}}, + {Region: "US Florida", ServerName: "miami406", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 42, 30}}, + {Region: "US Florida", ServerName: "miami408", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 42, 170}}, + {Region: "US Florida", ServerName: "miami408", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 42, 176}}, + {Region: "US Florida", ServerName: "miami413", Protocol: "udp", PortForward: false, IP: net.IP{212, 102, 61, 37}}, + {Region: "US Florida", ServerName: "miami413", Protocol: "udp", PortForward: false, IP: net.IP{212, 102, 61, 57}}, + {Region: "US Houston", ServerName: "houston408", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 139, 99}}, + {Region: "US Houston", ServerName: "houston408", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 139, 110}}, + {Region: "US Houston", ServerName: "houston409", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 139, 165}}, + {Region: "US Houston", ServerName: "houston409", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 139, 166}}, + {Region: "US Houston", ServerName: "houston415", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 142, 60}}, + {Region: "US Houston", ServerName: "houston415", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 142, 57}}, + {Region: "US Houston", ServerName: "houston416", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 142, 105}}, + {Region: "US Houston", ServerName: "houston416", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 142, 107}}, + {Region: "US Houston", ServerName: "houston418", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 154, 208}}, + {Region: "US Houston", ServerName: "houston418", Protocol: "udp", PortForward: false, IP: net.IP{205, 251, 154, 205}}, + {Region: "US Las Vegas", ServerName: "lasvegas401", Protocol: "udp", PortForward: false, IP: net.IP{173, 239, 226, 38}}, + {Region: "US Las Vegas", ServerName: "lasvegas401", Protocol: "udp", PortForward: false, IP: net.IP{173, 239, 226, 38}}, + {Region: "US Las Vegas", ServerName: "lasvegas402", Protocol: "udp", PortForward: false, IP: net.IP{45, 89, 173, 180}}, + {Region: "US Las Vegas", ServerName: "lasvegas402", Protocol: "udp", PortForward: false, IP: net.IP{45, 89, 173, 179}}, + {Region: "US Las Vegas", ServerName: "lasvegas405", Protocol: "udp", PortForward: false, IP: net.IP{82, 102, 31, 105}}, + {Region: "US Las Vegas", ServerName: "lasvegas405", Protocol: "udp", PortForward: false, IP: net.IP{82, 102, 31, 108}}, + {Region: "US Las Vegas", ServerName: "lasvegas406", Protocol: "udp", PortForward: false, IP: net.IP{82, 102, 31, 188}}, + {Region: "US Las Vegas", ServerName: "lasvegas406", Protocol: "udp", PortForward: false, IP: net.IP{82, 102, 31, 183}}, + {Region: "US Las Vegas", ServerName: "lasvegas410", Protocol: "udp", PortForward: false, IP: net.IP{79, 110, 53, 247}}, + {Region: "US Las Vegas", ServerName: "lasvegas410", Protocol: "udp", PortForward: false, IP: net.IP{79, 110, 53, 243}}, + {Region: "US New York", ServerName: "newjersey414", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 10, 47}}, + {Region: "US New York", ServerName: "newjersey414", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 10, 30}}, + {Region: "US New York", ServerName: "newyork404", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 238}}, + {Region: "US New York", ServerName: "newyork404", Protocol: "udp", PortForward: false, IP: net.IP{143, 244, 44, 208}}, + {Region: "US New York", ServerName: "newyork409", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 55, 244}}, + {Region: "US New York", ServerName: "newyork409", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 55, 244}}, + {Region: "US New York", ServerName: "newyork413", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 54, 30}}, + {Region: "US New York", ServerName: "newyork413", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 54, 39}}, + {Region: "US New York", ServerName: "newyork420", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 10, 83}}, + {Region: "US New York", ServerName: "newyork420", Protocol: "udp", PortForward: false, IP: net.IP{138, 199, 10, 67}}, + {Region: "US Seattle", ServerName: "seattle406", Protocol: "udp", PortForward: false, IP: net.IP{154, 9, 128, 66}}, + {Region: "US Seattle", ServerName: "seattle406", Protocol: "udp", PortForward: false, IP: net.IP{154, 9, 128, 65}}, + {Region: "US Seattle", ServerName: "seattle413", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 56}}, + {Region: "US Seattle", ServerName: "seattle413", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 40}}, + {Region: "US Seattle", ServerName: "seattle417", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 163}}, + {Region: "US Seattle", ServerName: "seattle417", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 170}}, + {Region: "US Seattle", ServerName: "seattle418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 196}}, + {Region: "US Seattle", ServerName: "seattle418", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 20, 213}}, + {Region: "US Seattle", ServerName: "seattle423", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 48, 175}}, + {Region: "US Seattle", ServerName: "seattle423", Protocol: "udp", PortForward: false, IP: net.IP{156, 146, 48, 193}}, + {Region: "US Silicon Valley", ServerName: "siliconvalley403", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 212, 98}}, + {Region: "US Silicon Valley", ServerName: "siliconvalley403", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 212, 98}}, + {Region: "US Silicon Valley", ServerName: "siliconvalley407", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 212, 203}}, + {Region: "US Silicon Valley", ServerName: "siliconvalley407", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 212, 203}}, + {Region: "US Silicon Valley", ServerName: "siliconvalley414", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 33}}, + {Region: "US Silicon Valley", ServerName: "siliconvalley414", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 26}}, + {Region: "US Silicon Valley", ServerName: "siliconvalley415", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 53}}, + {Region: "US Silicon Valley", ServerName: "siliconvalley415", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 93}}, + {Region: "US Silicon Valley", ServerName: "siliconvalley417", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 165}}, + {Region: "US Silicon Valley", ServerName: "siliconvalley417", Protocol: "udp", PortForward: false, IP: net.IP{154, 21, 216, 159}}, + {Region: "US Texas", ServerName: "dallas404", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 49}}, + {Region: "US Texas", ServerName: "dallas404", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 36}}, + {Region: "US Texas", ServerName: "dallas405", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 79}}, + {Region: "US Texas", ServerName: "dallas405", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 65}}, + {Region: "US Texas", ServerName: "dallas407", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 149}}, + {Region: "US Texas", ServerName: "dallas407", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 251, 155}}, + {Region: "US Texas", ServerName: "dallas414", Protocol: "udp", PortForward: false, IP: net.IP{154, 29, 131, 229}}, + {Region: "US Texas", ServerName: "dallas414", Protocol: "udp", PortForward: false, IP: net.IP{154, 29, 131, 229}}, + {Region: "US Texas", ServerName: "dallas417", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 250, 99}}, + {Region: "US Texas", ServerName: "dallas417", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 250, 103}}, + {Region: "US Washington DC", ServerName: "washington435", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 44, 126}}, + {Region: "US Washington DC", ServerName: "washington435", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 44, 126}}, + {Region: "US Washington DC", ServerName: "washington436", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 44, 147}}, + {Region: "US Washington DC", ServerName: "washington436", Protocol: "udp", PortForward: false, IP: net.IP{154, 3, 44, 149}}, + {Region: "US Washington DC", ServerName: "washington440", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 10}}, + {Region: "US Washington DC", ServerName: "washington440", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 27}}, + {Region: "US Washington DC", ServerName: "washington444", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 157}}, + {Region: "US Washington DC", ServerName: "washington444", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 147}}, + {Region: "US Washington DC", ServerName: "washington445", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 190}}, + {Region: "US Washington DC", ServerName: "washington445", Protocol: "udp", PortForward: false, IP: net.IP{38, 70, 11, 164}}, + {Region: "US West", ServerName: "phoenix406", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 241, 49}}, + {Region: "US West", ServerName: "phoenix406", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 241, 6}}, + {Region: "US West", ServerName: "phoenix407", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 241, 76}}, + {Region: "US West", ServerName: "phoenix407", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 241, 110}}, + {Region: "US West", ServerName: "phoenix410", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 252, 193}}, + {Region: "US West", ServerName: "phoenix410", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 252, 193}}, + {Region: "US West", ServerName: "phoenix412", Protocol: "udp", PortForward: false, IP: net.IP{107, 181, 184, 210}}, + {Region: "US West", ServerName: "phoenix412", Protocol: "udp", PortForward: false, IP: net.IP{107, 181, 184, 210}}, + {Region: "US West", ServerName: "phoenix414", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 242, 155}}, + {Region: "US West", ServerName: "phoenix414", Protocol: "udp", PortForward: false, IP: net.IP{184, 170, 242, 155}}, + {Region: "Ukraine", ServerName: "kiev401", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 58}}, + {Region: "Ukraine", ServerName: "kiev401", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 55}}, + {Region: "Ukraine", ServerName: "kiev402", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 28}}, + {Region: "Ukraine", ServerName: "kiev402", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 23}}, + {Region: "Ukraine", ServerName: "kiev403", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 5}}, + {Region: "Ukraine", ServerName: "kiev403", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 4}}, + {Region: "Ukraine", ServerName: "kiev404", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 44}}, + {Region: "Ukraine", ServerName: "kiev404", Protocol: "udp", PortForward: true, IP: net.IP{62, 149, 20, 44}}, + {Region: "United Arab Emirates", ServerName: "dubai403", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 193, 153}}, + {Region: "United Arab Emirates", ServerName: "dubai403", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 193, 156}}, + {Region: "United Arab Emirates", ServerName: "dubai404", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 193, 173}}, + {Region: "United Arab Emirates", ServerName: "dubai404", Protocol: "udp", PortForward: true, IP: net.IP{217, 138, 193, 164}}, + {Region: "Venezuela", ServerName: "venezuela403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 237, 5}}, + {Region: "Venezuela", ServerName: "venezuela403", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 237, 3}}, + {Region: "Venezuela", ServerName: "venezuela404", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 237, 15}}, + {Region: "Venezuela", ServerName: "venezuela404", Protocol: "udp", PortForward: true, IP: net.IP{95, 181, 237, 17}}, + {Region: "Vietnam", ServerName: "vietnam401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 152, 70}}, + {Region: "Vietnam", ServerName: "vietnam401", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 152, 77}}, + {Region: "Vietnam", ServerName: "vietnam402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 152, 93}}, + {Region: "Vietnam", ServerName: "vietnam402", Protocol: "udp", PortForward: true, IP: net.IP{188, 214, 152, 88}}, } } diff --git a/internal/constants/servers.go b/internal/constants/servers.go index 55df6f87..101e5434 100644 --- a/internal/constants/servers.go +++ b/internal/constants/servers.go @@ -22,8 +22,8 @@ func GetAllServers() (allServers models.AllServers) { Servers: NordvpnServers(), }, Pia: models.PiaServers{ - Version: 2, - Timestamp: 1609343591, + Version: 3, + Timestamp: 1611877630, Servers: PIAServers(), }, Purevpn: models.PurevpnServers{ diff --git a/internal/constants/servers_test.go b/internal/constants/servers_test.go index a9d2f85b..7701a75e 100644 --- a/internal/constants/servers_test.go +++ b/internal/constants/servers_test.go @@ -52,7 +52,7 @@ func Test_versions(t *testing.T) { "Private Internet Access": { model: models.PIAServer{}, version: allServers.Pia.Version, - digest: "f1e01afe", + digest: "b90147aa", }, "Privado": { model: models.PrivadoServer{}, @@ -133,7 +133,7 @@ func Test_timestamps(t *testing.T) { "Private Internet Access": { servers: allServers.Pia.Servers, timestamp: allServers.Pia.Timestamp, - digest: "d797f112", + digest: "1d2938a1", }, "Purevpn": { servers: allServers.Purevpn.Servers, diff --git a/internal/models/server.go b/internal/models/server.go index 0857fd41..1f0eeef6 100644 --- a/internal/models/server.go +++ b/internal/models/server.go @@ -8,24 +8,16 @@ import ( ) type PIAServer struct { - Region string `json:"region"` - PortForward bool `json:"port_forward"` - OpenvpnUDP PIAServerOpenvpn `json:"openvpn_udp"` - OpenvpnTCP PIAServerOpenvpn `json:"openvpn_tcp"` -} - -type PIAServerOpenvpn struct { - IPs []net.IP `json:"ips"` - CN string `json:"cn"` -} - -func (p *PIAServerOpenvpn) String() string { - return fmt.Sprintf("models.PIAServerOpenvpn{CN: %q, IPs: %s}", p.CN, goStringifyIPs(p.IPs)) + Region string `json:"region"` + ServerName string `json:"server_name"` + Protocol NetworkProtocol `json:"protocol"` + PortForward bool `json:"port_forward"` + IP net.IP `json:"ip"` } func (p *PIAServer) String() string { - return fmt.Sprintf("{Region: %q, PortForward: %t, OpenvpnUDP: %s, OpenvpnTCP: %s}", - p.Region, p.PortForward, p.OpenvpnUDP.String(), p.OpenvpnTCP.String()) + return fmt.Sprintf("{Region: %q, ServerName: %q, Protocol: %q, PortForward: %t, IP: %s}", + p.Region, p.ServerName, p.Protocol, p.PortForward, goStringifyIP(p.IP)) } type MullvadServer struct { diff --git a/internal/provider/piav4.go b/internal/provider/piav4.go index 58b40dc2..801f0b7d 100644 --- a/internal/provider/piav4.go +++ b/internal/provider/piav4.go @@ -26,11 +26,10 @@ import ( ) type pia struct { - servers []models.PIAServer - timeNow timeNowFunc - randSource rand.Source - activeServer models.PIAServer - activeProtocol models.NetworkProtocol + servers []models.PIAServer + timeNow timeNowFunc + randSource rand.Source + activeServer models.PIAServer } func newPrivateInternetAccess(servers []models.PIAServer, timeNow timeNowFunc) *pia { @@ -66,47 +65,32 @@ func (p *pia) GetOpenVPNConnection(selection models.ServerSelection) ( selection.Protocol, selection.EncryptionPreset) } + servers := p.servers if selection.TargetIP != nil { - return models.OpenVPNConnection{IP: selection.TargetIP, Port: port, Protocol: selection.Protocol}, nil - } - - servers := filterPIAServers(p.servers, selection.Regions) - if len(servers) == 0 { - return connection, fmt.Errorf("no server found for region %s", commaJoin(selection.Regions)) - } - - var connections []models.OpenVPNConnection - for _, server := range servers { - IPs := server.OpenvpnUDP.IPs - if selection.Protocol == constants.TCP { - IPs = server.OpenvpnTCP.IPs + connection = models.OpenVPNConnection{IP: selection.TargetIP, Port: port, Protocol: selection.Protocol} + } else { + servers := filterPIAServers(servers, selection.Regions, selection.Protocol) + if len(servers) == 0 { + return connection, fmt.Errorf("no server found for region %s and protocol %s", + commaJoin(selection.Regions), selection.Protocol) } - for _, IP := range IPs { - connections = append(connections, models.OpenVPNConnection{IP: IP, Port: port, Protocol: selection.Protocol}) - } - } - connection = pickRandomConnection(connections, p.randSource) + var connections []models.OpenVPNConnection + for _, server := range servers { + connection := models.OpenVPNConnection{IP: server.IP, Port: port, Protocol: selection.Protocol} + connections = append(connections, connection) + } + + connection = pickRandomConnection(connections, p.randSource) + } // Reverse lookup server from picked connection - found := false for _, server := range servers { - IPs := server.OpenvpnUDP.IPs - if selection.Protocol == constants.TCP { - IPs = server.OpenvpnTCP.IPs - } - for _, IP := range IPs { - if connection.IP.Equal(IP) { - p.activeServer = server - found = true - break - } - } - if found { + if connection.IP.Equal(server.IP) { + p.activeServer = server break } } - p.activeProtocol = selection.Protocol return connection, nil } @@ -193,18 +177,17 @@ func (p *pia) BuildConf(connection models.OpenVPNConnection, func (p *pia) PortForward(ctx context.Context, client *http.Client, openFile os.OpenFileFunc, pfLogger logging.Logger, gateway net.IP, fw firewall.Configurator, syncState func(port uint16) (pfFilepath models.Filepath)) { + commonName := p.activeServer.ServerName if !p.activeServer.PortForward { - pfLogger.Error("The server %s does not support port forwarding", p.activeServer.Region) + pfLogger.Error("The server %s (region %s) does not support port forwarding", + commonName, p.activeServer.Region) return } if gateway == nil { pfLogger.Error("aborting because: VPN gateway IP address was not found") return } - commonName := p.activeServer.OpenvpnUDP.CN - if p.activeProtocol == constants.TCP { - commonName = p.activeServer.OpenvpnTCP.CN - } + client, err := newPIAHTTPClient(commonName) if err != nil { pfLogger.Error("aborting because: %s", err) @@ -318,10 +301,12 @@ func (p *pia) PortForward(ctx context.Context, client *http.Client, } } -func filterPIAServers(servers []models.PIAServer, regions []string) (filtered []models.PIAServer) { +func filterPIAServers(servers []models.PIAServer, regions []string, protocol models.NetworkProtocol) ( + filtered []models.PIAServer) { for _, server := range servers { switch { case filterByPossibilities(server.Region, regions): + case server.Protocol != protocol: default: filtered = append(filtered, server) } diff --git a/internal/updater/pia.go b/internal/updater/pia.go index c453aee0..3125dd7a 100644 --- a/internal/updater/pia.go +++ b/internal/updater/pia.go @@ -10,6 +10,7 @@ import ( "sort" "strings" + "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" ) @@ -46,37 +47,40 @@ func (u *updater) updatePIA(ctx context.Context) (err error) { if err := json.Unmarshal(b, &data); err != nil { return err } + servers := make([]models.PIAServer, 0, len(data.Regions)) for _, region := range data.Regions { - server := models.PIAServer{ - Region: region.Name, - PortForward: region.PortForward, - } for _, udpServer := range region.Servers.UDP { - if len(server.OpenvpnUDP.CN) > 0 && server.OpenvpnUDP.CN != udpServer.CN { - return fmt.Errorf("CN is different for UDP for region %q: %q and %q", - region.Name, server.OpenvpnUDP.CN, udpServer.CN) + server := models.PIAServer{ + Region: region.Name, + ServerName: udpServer.CN, + Protocol: constants.UDP, + PortForward: region.PortForward, + IP: udpServer.IP, } - if udpServer.IP != nil { - server.OpenvpnUDP.IPs = append(server.OpenvpnUDP.IPs, udpServer.IP) - } - server.OpenvpnUDP.CN = udpServer.CN + servers = append(servers, server) } for _, tcpServer := range region.Servers.TCP { - if len(server.OpenvpnTCP.CN) > 0 && server.OpenvpnTCP.CN != tcpServer.CN { - return fmt.Errorf("CN is different for TCP for region %q: %q and %q", - region.Name, server.OpenvpnTCP.CN, tcpServer.CN) + server := models.PIAServer{ + Region: region.Name, + ServerName: tcpServer.CN, + Protocol: constants.UDP, + PortForward: region.PortForward, + IP: tcpServer.IP, } - if tcpServer.IP != nil { - server.OpenvpnTCP.IPs = append(server.OpenvpnTCP.IPs, tcpServer.IP) - } - server.OpenvpnTCP.CN = tcpServer.CN + servers = append(servers, server) } - servers = append(servers, server) } sort.Slice(servers, func(i, j int) bool { + if servers[i].Region == servers[j].Region { + if servers[i].ServerName == servers[j].ServerName { + return servers[i].Protocol < servers[j].Protocol + } + return servers[i].ServerName < servers[j].ServerName + } return servers[i].Region < servers[j].Region }) + if u.options.Stdout { u.println(stringifyPIAServers(servers)) }