Use IP addresses resolved for PIA old servers (#239)

- Fix #238
- Not using raw IPs from PIA as they seem invalid
- Update PIA old server information
This commit is contained in:
Quentin McGaw
2020-09-10 21:09:16 -04:00
committed by GitHub
parent 5b3cbb6906
commit ee64cbf1fd
5 changed files with 120 additions and 97 deletions

View File

@@ -124,72 +124,72 @@ func PIAOldGeoChoices() (choices []string) {
func PIAOldServers() []models.PIAServer {
return []models.PIAServer{
{Region: "AU Melbourne", IPs: []net.IP{{43, 250, 204, 97}}},
{Region: "AU Perth", IPs: []net.IP{{43, 250, 205, 59}}},
{Region: "AU Sydney", IPs: []net.IP{{221, 121, 146, 203}}},
{Region: "Albania", IPs: []net.IP{{31, 171, 154, 130}}},
{Region: "Argentina", IPs: []net.IP{{190, 106, 134, 80}}},
{Region: "Austria", IPs: []net.IP{{185, 216, 34, 229}}},
{Region: "Belgium", IPs: []net.IP{{185, 232, 21, 29}}},
{Region: "Bosnia and Herzegovina", IPs: []net.IP{{185, 164, 35, 55}}},
{Region: "Bulgaria", IPs: []net.IP{{217, 138, 221, 82}}},
{Region: "CA Montreal", IPs: []net.IP{{199, 229, 249, 159}}},
{Region: "CA Ontario", IPs: []net.IP{{184, 75, 213, 218}}},
{Region: "CA Toronto", IPs: []net.IP{{172, 98, 67, 85}}},
{Region: "CA Vancouver", IPs: []net.IP{{172, 83, 40, 25}}},
{Region: "Czech Republic", IPs: []net.IP{{185, 242, 6, 27}}},
{Region: "DE Berlin", IPs: []net.IP{{193, 176, 86, 123}}},
{Region: "DE Frankfurt", IPs: []net.IP{{185, 220, 70, 147}}},
{Region: "Denmark", IPs: []net.IP{{82, 102, 20, 181}}},
{Region: "Estonia", IPs: []net.IP{{77, 247, 111, 98}}},
{Region: "Finland", IPs: []net.IP{{196, 244, 191, 146}}},
{Region: "France", IPs: []net.IP{{194, 187, 249, 47}}},
{Region: "Greece", IPs: []net.IP{{154, 57, 3, 91}}},
{Region: "Hungary", IPs: []net.IP{{185, 128, 26, 19}}},
{Region: "Iceland", IPs: []net.IP{{213, 167, 139, 66}}},
{Region: "India", IPs: []net.IP{{150, 242, 12, 155}}},
{Region: "Ireland", IPs: []net.IP{{23, 92, 127, 34}}},
{Region: "Israel", IPs: []net.IP{{31, 168, 172, 145}}},
{Region: "Italy", IPs: []net.IP{{82, 102, 21, 217}}},
{Region: "Japan", IPs: []net.IP{{156, 146, 34, 65}}},
{Region: "Latvia", IPs: []net.IP{{109, 248, 149, 2}}},
{Region: "Lithuania", IPs: []net.IP{{85, 206, 165, 160}}},
{Region: "Luxembourg", IPs: []net.IP{{92, 223, 89, 137}}},
{Region: "Moldova", IPs: []net.IP{{178, 17, 172, 242}}},
{Region: "Netherlands", IPs: []net.IP{{46, 166, 190, 227}}},
{Region: "New Zealand", IPs: []net.IP{{43, 250, 207, 3}}},
{Region: "AU Melbourne", IPs: []net.IP{{27, 50, 82, 131}, {27, 50, 82, 133}, {43, 250, 204, 85}, {43, 250, 204, 87}, {43, 250, 204, 89}, {43, 250, 204, 91}, {43, 250, 204, 93}, {43, 250, 204, 95}, {43, 250, 204, 97}, {43, 250, 204, 99}, {43, 250, 204, 105}, {43, 250, 204, 107}, {43, 250, 204, 109}, {43, 250, 204, 111}, {43, 250, 204, 113}, {43, 250, 204, 115}, {43, 250, 204, 117}, {43, 250, 204, 119}, {43, 250, 204, 123}, {43, 250, 204, 125}}},
{Region: "AU Perth", IPs: []net.IP{{43, 250, 205, 59}, {43, 250, 205, 93}, {43, 250, 205, 95}}},
{Region: "AU Sydney", IPs: []net.IP{{27, 50, 68, 23}, {27, 50, 77, 251}, {27, 50, 81, 117}, {103, 13, 102, 117}, {103, 13, 102, 121}, {103, 13, 102, 123}, {103, 13, 102, 127}, {118, 127, 60, 51}, {221, 121, 145, 131}, {221, 121, 145, 135}, {221, 121, 145, 137}, {221, 121, 145, 143}, {221, 121, 145, 145}, {221, 121, 145, 147}, {221, 121, 145, 151}, {221, 121, 145, 159}, {221, 121, 146, 203}, {221, 121, 146, 217}, {221, 121, 148, 221}, {221, 121, 152, 215}}},
{Region: "Albania", IPs: []net.IP{{31, 171, 154, 114}}},
{Region: "Argentina", IPs: []net.IP{{190, 106, 134, 100}}},
{Region: "Austria", IPs: []net.IP{{89, 187, 168, 6}, {156, 146, 60, 129}}},
{Region: "Belgium", IPs: []net.IP{{77, 243, 191, 18}, {77, 243, 191, 19}, {77, 243, 191, 20}, {77, 243, 191, 21}, {77, 243, 191, 22}, {77, 243, 191, 23}, {185, 104, 186, 26}, {185, 232, 21, 26}, {185, 232, 21, 27}, {185, 232, 21, 28}, {185, 232, 21, 29}}},
{Region: "Bosnia and Herzegovina", IPs: []net.IP{{185, 164, 35, 54}}},
{Region: "Bulgaria", IPs: []net.IP{{217, 138, 221, 66}}},
{Region: "CA Montreal", IPs: []net.IP{{172, 98, 71, 194}, {199, 36, 223, 130}, {199, 36, 223, 194}}},
{Region: "CA Ontario", IPs: []net.IP{{162, 219, 176, 194}, {162, 253, 128, 98}, {184, 75, 208, 18}, {184, 75, 208, 34}, {184, 75, 208, 66}, {184, 75, 208, 90}, {184, 75, 208, 114}, {184, 75, 208, 122}, {184, 75, 208, 130}, {184, 75, 208, 170}, {184, 75, 208, 202}, {184, 75, 210, 18}, {184, 75, 210, 66}, {184, 75, 210, 106}, {184, 75, 210, 194}, {184, 75, 214, 18}, {184, 75, 215, 18}, {184, 75, 215, 26}, {184, 75, 215, 66}, {184, 75, 215, 74}}},
{Region: "CA Toronto", IPs: []net.IP{{66, 115, 142, 130}, {66, 115, 145, 199}, {172, 98, 92, 66}, {172, 98, 92, 130}, {172, 98, 92, 194}}},
{Region: "CA Vancouver", IPs: []net.IP{{162, 216, 47, 66}, {162, 216, 47, 194}, {172, 98, 89, 130}, {172, 98, 89, 194}}},
{Region: "Czech Republic", IPs: []net.IP{{212, 102, 39, 1}}},
{Region: "DE Berlin", IPs: []net.IP{{185, 230, 127, 226}, {185, 230, 127, 227}, {185, 230, 127, 228}, {185, 230, 127, 229}, {185, 230, 127, 230}, {185, 230, 127, 231}, {185, 230, 127, 232}, {185, 230, 127, 236}, {185, 230, 127, 237}, {185, 230, 127, 239}, {185, 230, 127, 240}, {185, 230, 127, 241}, {185, 230, 127, 243}, {193, 176, 86, 125}, {193, 176, 86, 138}, {193, 176, 86, 146}, {193, 176, 86, 154}, {193, 176, 86, 158}, {193, 176, 86, 162}, {193, 176, 86, 174}}},
{Region: "DE Frankfurt", IPs: []net.IP{{195, 181, 170, 225}, {195, 181, 170, 239}, {195, 181, 170, 240}, {195, 181, 170, 241}, {195, 181, 170, 242}, {195, 181, 170, 243}, {195, 181, 170, 244}, {212, 102, 57, 138}}},
{Region: "Denmark", IPs: []net.IP{{188, 126, 94, 34}}},
{Region: "Estonia", IPs: []net.IP{{77, 247, 111, 82}, {77, 247, 111, 98}, {77, 247, 111, 114}}},
{Region: "Finland", IPs: []net.IP{{188, 126, 89, 4}}},
{Region: "France", IPs: []net.IP{{156, 146, 63, 1}}},
{Region: "Greece", IPs: []net.IP{{154, 57, 3, 91}, {154, 57, 3, 106}, {154, 57, 3, 145}}},
{Region: "Hungary", IPs: []net.IP{{185, 128, 26, 18}, {185, 128, 26, 19}, {185, 128, 26, 20}, {185, 128, 26, 21}, {185, 128, 26, 22}, {185, 128, 26, 23}, {185, 128, 26, 24}}},
{Region: "Iceland", IPs: []net.IP{{45, 133, 193, 50}, {45, 133, 193, 66}}},
{Region: "India", IPs: []net.IP{{150, 242, 12, 155}, {150, 242, 12, 171}, {150, 242, 12, 187}}},
{Region: "Ireland", IPs: []net.IP{{23, 92, 127, 2}, {23, 92, 127, 10}, {23, 92, 127, 18}, {23, 92, 127, 34}, {23, 92, 127, 42}, {23, 92, 127, 50}}},
{Region: "Israel", IPs: []net.IP{{31, 168, 172, 142}, {31, 168, 172, 143}, {31, 168, 172, 145}, {31, 168, 172, 146}}},
{Region: "Italy", IPs: []net.IP{{156, 146, 41, 129}, {156, 146, 41, 193}}},
{Region: "Japan", IPs: []net.IP{{156, 146, 34, 1}, {156, 146, 34, 65}}},
{Region: "Latvia", IPs: []net.IP{{46, 183, 217, 34}, {46, 183, 218, 130}, {46, 183, 218, 146}}},
{Region: "Lithuania", IPs: []net.IP{{85, 206, 165, 96}, {85, 206, 165, 112}, {85, 206, 165, 128}}},
{Region: "Luxembourg", IPs: []net.IP{{92, 223, 89, 134}, {92, 223, 89, 135}, {92, 223, 89, 136}, {92, 223, 89, 137}, {92, 223, 89, 138}, {92, 223, 89, 140}}},
{Region: "Moldova", IPs: []net.IP{{178, 17, 172, 242}, {178, 17, 173, 194}, {178, 175, 128, 34}}},
{Region: "Netherlands", IPs: []net.IP{{212, 102, 35, 103}}},
{Region: "New Zealand", IPs: []net.IP{{43, 250, 207, 1}, {43, 250, 207, 3}}},
{Region: "North Macedonia", IPs: []net.IP{{185, 225, 28, 130}}},
{Region: "Norway", IPs: []net.IP{{82, 102, 27, 52}}},
{Region: "Poland", IPs: []net.IP{{185, 244, 214, 198}}},
{Region: "Portugal", IPs: []net.IP{{89, 26, 241, 102}}},
{Region: "Romania", IPs: []net.IP{{185, 210, 218, 98}}},
{Region: "Serbia", IPs: []net.IP{{37, 120, 193, 242}}},
{Region: "Singapore", IPs: []net.IP{{37, 120, 208, 82}}},
{Region: "Slovakia", IPs: []net.IP{{37, 120, 221, 82}}},
{Region: "Norway", IPs: []net.IP{{46, 246, 122, 34}, {46, 246, 122, 162}}},
{Region: "Poland", IPs: []net.IP{{185, 244, 214, 195}, {185, 244, 214, 197}, {185, 244, 214, 198}, {185, 244, 214, 199}}},
{Region: "Portugal", IPs: []net.IP{{89, 26, 241, 86}, {89, 26, 241, 102}, {89, 26, 241, 130}}},
{Region: "Romania", IPs: []net.IP{{86, 105, 25, 70}, {86, 105, 25, 75}, {86, 105, 25, 76}, {86, 105, 25, 77}, {94, 176, 148, 35}, {143, 244, 54, 1}, {185, 210, 218, 99}, {185, 210, 218, 101}, {185, 210, 218, 103}, {185, 210, 218, 104}}},
{Region: "Serbia", IPs: []net.IP{{37, 120, 193, 226}}},
{Region: "Singapore", IPs: []net.IP{{156, 146, 56, 193}, {156, 146, 57, 38}, {156, 146, 57, 235}, {156, 146, 57, 244}}},
{Region: "Slovakia", IPs: []net.IP{{37, 120, 221, 98}}},
{Region: "South Africa", IPs: []net.IP{{102, 165, 20, 133}}},
{Region: "Spain", IPs: []net.IP{{185, 230, 124, 52}}},
{Region: "Sweden", IPs: []net.IP{{45, 12, 220, 170}}},
{Region: "Switzerland", IPs: []net.IP{{91, 132, 136, 45}}},
{Region: "Turkey", IPs: []net.IP{{185, 195, 79, 82}}},
{Region: "Spain", IPs: []net.IP{{212, 102, 49, 185}, {212, 102, 49, 251}}},
{Region: "Sweden", IPs: []net.IP{{46, 246, 3, 253}, {46, 246, 3, 254}}},
{Region: "Switzerland", IPs: []net.IP{{156, 146, 62, 129}, {156, 146, 62, 193}, {212, 102, 36, 1}, {212, 102, 36, 166}}},
{Region: "Turkey", IPs: []net.IP{{185, 195, 79, 34}, {185, 195, 79, 82}}},
{Region: "UAE", IPs: []net.IP{{45, 9, 250, 46}}},
{Region: "UK London", IPs: []net.IP{{89, 238, 154, 229}}},
{Region: "UK Manchester", IPs: []net.IP{{89, 238, 139, 9}}},
{Region: "UK Southampton", IPs: []net.IP{{31, 24, 226, 234}}},
{Region: "US Atlanta", IPs: []net.IP{{156, 146, 47, 11}}},
{Region: "US California", IPs: []net.IP{{91, 207, 175, 169}}},
{Region: "US Chicago", IPs: []net.IP{{212, 102, 58, 113}}},
{Region: "US Dallas", IPs: []net.IP{{156, 146, 52, 70}}},
{Region: "US Denver", IPs: []net.IP{{174, 128, 242, 250}}},
{Region: "US East", IPs: []net.IP{{193, 37, 253, 120}}},
{Region: "US Florida", IPs: []net.IP{{193, 37, 252, 126}}},
{Region: "US Houston", IPs: []net.IP{{205, 251, 150, 194}}},
{Region: "US Las Vegas", IPs: []net.IP{{199, 127, 56, 119}}},
{Region: "US New York City", IPs: []net.IP{{156, 146, 54, 53}}},
{Region: "US Seattle", IPs: []net.IP{{156, 146, 48, 65}}},
{Region: "US Silicon Valley", IPs: []net.IP{{199, 116, 118, 181}}},
{Region: "US Washington DC", IPs: []net.IP{{70, 32, 0, 75}}},
{Region: "US West", IPs: []net.IP{{104, 200, 151, 44}}},
{Region: "Ukraine", IPs: []net.IP{{62, 149, 20, 50}}},
{Region: "UK London", IPs: []net.IP{{212, 102, 52, 1}, {212, 102, 52, 134}, {212, 102, 53, 129}}},
{Region: "UK Manchester", IPs: []net.IP{{89, 238, 137, 36}, {89, 238, 137, 37}, {89, 238, 137, 38}, {89, 238, 137, 39}, {89, 238, 139, 52}, {89, 238, 139, 53}, {89, 238, 139, 54}, {89, 238, 139, 55}, {89, 238, 139, 56}, {89, 238, 139, 57}, {89, 238, 139, 58}, {89, 249, 67, 220}}},
{Region: "UK Southampton", IPs: []net.IP{{31, 24, 226, 141}, {31, 24, 226, 147}, {31, 24, 226, 188}, {31, 24, 226, 189}, {31, 24, 226, 203}, {31, 24, 226, 205}, {31, 24, 226, 206}, {31, 24, 226, 220}, {31, 24, 226, 222}, {31, 24, 226, 223}, {31, 24, 226, 225}, {31, 24, 226, 226}, {31, 24, 226, 228}, {31, 24, 226, 232}, {31, 24, 226, 235}, {31, 24, 226, 244}, {31, 24, 226, 245}, {31, 24, 226, 246}, {31, 24, 226, 252}, {31, 24, 226, 254}}},
{Region: "US Atlanta", IPs: []net.IP{{66, 115, 169, 195}, {66, 115, 169, 197}, {66, 115, 169, 199}, {66, 115, 169, 203}, {66, 115, 169, 206}, {66, 115, 169, 207}, {66, 115, 169, 208}, {66, 115, 169, 211}, {66, 115, 169, 214}, {156, 146, 46, 1}, {156, 146, 46, 134}, {156, 146, 46, 198}, {156, 146, 47, 11}}},
{Region: "US California", IPs: []net.IP{{37, 235, 108, 144}, {89, 187, 187, 129}, {89, 187, 187, 162}, {91, 207, 175, 194}, {91, 207, 175, 197}, {91, 207, 175, 198}, {91, 207, 175, 199}, {91, 207, 175, 200}, {91, 207, 175, 203}, {91, 207, 175, 206}, {91, 207, 175, 209}, {91, 207, 175, 210}, {91, 207, 175, 211}}},
{Region: "US Chicago", IPs: []net.IP{{156, 146, 50, 1}, {156, 146, 50, 65}, {156, 146, 50, 134}, {156, 146, 50, 198}, {156, 146, 51, 11}, {212, 102, 58, 113}, {212, 102, 59, 54}, {212, 102, 59, 129}}},
{Region: "US Dallas", IPs: []net.IP{{156, 146, 38, 65}, {156, 146, 38, 161}, {156, 146, 39, 1}, {156, 146, 39, 6}, {156, 146, 52, 6}, {156, 146, 52, 70}, {156, 146, 52, 139}, {156, 146, 52, 203}, {174, 127, 114, 53}, {174, 127, 114, 54}, {174, 127, 114, 56}, {174, 127, 114, 65}, {174, 127, 114, 66}, {174, 127, 114, 67}, {174, 127, 114, 71}, {174, 127, 114, 74}, {174, 127, 114, 75}, {174, 127, 114, 76}, {174, 127, 114, 77}, {174, 127, 114, 80}}},
{Region: "US Denver", IPs: []net.IP{{174, 128, 225, 2}, {174, 128, 225, 98}, {174, 128, 225, 106}, {174, 128, 225, 186}, {174, 128, 236, 98}, {174, 128, 242, 234}, {174, 128, 242, 242}, {174, 128, 242, 250}, {174, 128, 243, 98}, {174, 128, 244, 66}, {174, 128, 244, 74}, {174, 128, 245, 122}, {174, 128, 250, 18}, {174, 128, 250, 26}, {198, 148, 82, 82}, {199, 115, 97, 202}, {199, 115, 98, 234}, {199, 115, 101, 178}, {199, 115, 101, 186}, {199, 115, 102, 146}}},
{Region: "US East", IPs: []net.IP{{156, 146, 58, 201}, {156, 146, 58, 202}, {156, 146, 58, 203}, {156, 146, 58, 204}, {156, 146, 58, 205}, {156, 146, 58, 206}, {156, 146, 58, 207}, {156, 146, 58, 208}, {156, 146, 58, 209}, {193, 37, 253, 109}, {193, 37, 253, 114}, {193, 37, 253, 117}, {193, 37, 253, 133}, {194, 59, 251, 12}, {194, 59, 251, 24}, {194, 59, 251, 49}, {194, 59, 251, 53}, {194, 59, 251, 80}, {194, 59, 251, 93}, {194, 59, 251, 104}}},
{Region: "US Florida", IPs: []net.IP{{156, 146, 42, 1}, {156, 146, 42, 65}, {156, 146, 42, 134}, {156, 146, 42, 198}, {156, 146, 43, 11}, {156, 146, 43, 75}, {193, 37, 252, 14}, {193, 37, 252, 15}, {193, 37, 252, 18}, {193, 37, 252, 19}, {193, 37, 252, 20}, {193, 37, 252, 21}, {193, 37, 252, 22}, {193, 37, 252, 24}, {193, 37, 252, 25}, {193, 37, 252, 26}, {193, 37, 252, 27}, {212, 102, 61, 19}, {212, 102, 61, 83}}},
{Region: "US Houston", IPs: []net.IP{{74, 81, 88, 26}, {74, 81, 88, 42}, {74, 81, 88, 66}, {74, 81, 88, 74}, {205, 251, 148, 66}}},
{Region: "US Las Vegas", IPs: []net.IP{{162, 251, 236, 2}, {162, 251, 236, 3}, {162, 251, 236, 4}, {162, 251, 236, 5}, {162, 251, 236, 6}, {162, 251, 236, 8}, {162, 251, 236, 9}, {199, 127, 56, 82}, {199, 127, 56, 83}, {199, 127, 56, 84}, {199, 127, 56, 86}, {199, 127, 56, 87}, {199, 127, 56, 88}, {199, 127, 56, 89}, {199, 127, 56, 90}, {199, 127, 56, 91}}},
{Region: "US New York City", IPs: []net.IP{{156, 146, 36, 225}, {156, 146, 36, 240}, {156, 146, 37, 129}, {156, 146, 55, 198}, {156, 146, 58, 1}, {156, 146, 58, 134}, {173, 244, 217, 37}, {209, 95, 50, 50}, {209, 95, 50, 58}, {209, 95, 50, 60}, {209, 95, 50, 62}, {209, 95, 50, 64}, {209, 95, 50, 65}, {209, 95, 50, 66}, {209, 95, 50, 67}, {209, 95, 50, 68}, {209, 95, 50, 69}, {209, 95, 50, 84}, {209, 95, 50, 85}, {209, 95, 50, 87}}},
{Region: "US Seattle", IPs: []net.IP{{84, 17, 41, 7}, {84, 17, 41, 10}, {84, 17, 41, 20}, {84, 17, 41, 22}, {84, 17, 41, 25}, {84, 17, 41, 27}, {84, 17, 41, 30}, {84, 17, 41, 38}, {84, 17, 41, 40}, {84, 17, 41, 41}, {84, 17, 41, 50}, {84, 17, 41, 53}, {84, 17, 41, 56}, {84, 17, 41, 58}, {84, 17, 41, 63}, {84, 17, 41, 92}, {84, 17, 41, 93}, {84, 17, 41, 95}, {212, 102, 46, 193}, {212, 102, 47, 134}}},
{Region: "US Silicon Valley", IPs: []net.IP{{199, 116, 118, 130}, {199, 116, 118, 133}, {199, 116, 118, 136}, {199, 116, 118, 140}, {199, 116, 118, 158}, {199, 116, 118, 170}, {199, 116, 118, 172}, {199, 116, 118, 174}, {199, 116, 118, 178}, {199, 116, 118, 180}, {199, 116, 118, 184}, {199, 116, 118, 202}, {199, 116, 118, 204}, {199, 116, 118, 212}, {199, 116, 118, 219}, {199, 116, 118, 233}, {199, 116, 118, 239}, {199, 116, 118, 240}, {199, 116, 118, 244}, {199, 116, 118, 246}}},
{Region: "US Washington DC", IPs: []net.IP{{70, 32, 0, 46}, {70, 32, 0, 47}, {70, 32, 0, 52}, {70, 32, 0, 53}, {70, 32, 0, 65}, {70, 32, 0, 68}, {70, 32, 0, 69}, {70, 32, 0, 70}, {70, 32, 0, 71}, {70, 32, 0, 72}, {70, 32, 0, 73}, {70, 32, 0, 75}, {70, 32, 0, 76}, {70, 32, 0, 113}, {70, 32, 0, 114}, {70, 32, 0, 115}, {70, 32, 0, 118}, {70, 32, 0, 119}, {70, 32, 0, 139}, {70, 32, 0, 173}}},
{Region: "US West", IPs: []net.IP{{104, 200, 151, 6}, {104, 200, 151, 7}, {104, 200, 151, 9}, {104, 200, 151, 10}, {104, 200, 151, 12}, {104, 200, 151, 16}, {104, 200, 151, 17}, {104, 200, 151, 21}, {104, 200, 151, 49}, {104, 200, 151, 51}, {104, 200, 151, 56}, {104, 200, 151, 74}, {104, 200, 151, 78}, {104, 200, 151, 79}, {104, 200, 151, 81}, {104, 200, 151, 82}, {104, 200, 151, 84}, {104, 200, 151, 85}, {104, 200, 151, 87}, {104, 200, 151, 89}}},
{Region: "Ukraine", IPs: []net.IP{{62, 149, 20, 10}, {62, 149, 20, 40}}},
}
}

View File

@@ -27,7 +27,7 @@ func GetAllServers() (allServers models.AllServers) {
},
PiaOld: models.PiaServers{
Version: 1,
Timestamp: 1599323261,
Timestamp: 1599786395,
Servers: PIAOldServers(),
},
Purevpn: models.PurevpnServers{

View File

@@ -51,7 +51,7 @@ func Test_timestamps(t *testing.T) {
assert.Equal(t, "6VjgHtTZOz+TDKpiQOweLA", digestServersTimestamp(t, allServers.Mullvad.Servers, allServers.Mullvad.Timestamp))
assert.Equal(t, "OLI62FoTf2wis25Nw4FLpg", digestServersTimestamp(t, allServers.Nordvpn.Servers, allServers.Nordvpn.Timestamp))
assert.Equal(t, "hAjEIo6FIrUsJuRmKOKPzA", digestServersTimestamp(t, allServers.Pia.Servers, allServers.Pia.Timestamp))
assert.Equal(t, "T3rAITVW5bvyUfZMMGdi0Q", digestServersTimestamp(t, allServers.PiaOld.Servers, allServers.PiaOld.Timestamp))
assert.Equal(t, "uiMp4IqH7NmvCIQ7gvR05Q", digestServersTimestamp(t, allServers.PiaOld.Servers, allServers.PiaOld.Timestamp))
assert.Equal(t, "kwJdVWTiBOspfrRwZIA+Sg", digestServersTimestamp(t, allServers.Purevpn.Servers, allServers.Purevpn.Timestamp))
assert.Equal(t, "2rceMJexUNMv0VIqme34iA", digestServersTimestamp(t, allServers.Surfshark.Servers, allServers.Surfshark.Timestamp))
assert.Equal(t, "KdIQWi2tYUM4aMXvWfVBEg", digestServersTimestamp(t, allServers.Vyprvpn.Servers, allServers.Vyprvpn.Timestamp))

View File

@@ -1,7 +1,9 @@
package updater
import (
"context"
"fmt"
"net"
"sort"
"strings"
@@ -10,45 +12,19 @@ import (
func (u *updater) updatePIA() (err error) {
const zipURL = "https://www.privateinternetaccess.com/openvpn/openvpn-ip-nextgen.zip"
servers, err := findPIAServersFromURL(zipURL)
if err != nil {
return fmt.Errorf("cannot update PIA servers: %w", err)
}
if u.options.Stdout {
u.println(stringifyPIAServers(servers))
}
u.servers.Pia.Timestamp = u.timeNow().Unix()
u.servers.Pia.Servers = servers
return nil
}
func (u *updater) updatePIAOld() (err error) {
const zipURL = "https://www.privateinternetaccess.com/openvpn/openvpn-ip.zip"
servers, err := findPIAServersFromURL(zipURL)
if err != nil {
return fmt.Errorf("cannot update old PIA servers: %w", err)
}
if u.options.Stdout {
u.println(stringifyPIAOldServers(servers))
}
u.servers.PiaOld.Timestamp = u.timeNow().Unix()
u.servers.PiaOld.Servers = servers
return nil
}
func findPIAServersFromURL(zipURL string) (servers []models.PIAServer, err error) {
contents, err := fetchAndExtractFiles(zipURL)
if err != nil {
return nil, err
return err
}
servers := make([]models.PIAServer, 0, len(contents))
for fileName, content := range contents {
remoteLines := extractRemoteLinesFromOpenvpn(content)
if len(remoteLines) == 0 {
return nil, fmt.Errorf("cannot find any remote lines in %s", fileName)
return fmt.Errorf("cannot find any remote lines in %s", fileName)
}
IPs := extractIPsFromRemoteLines(remoteLines)
if len(IPs) == 0 {
return nil, fmt.Errorf("cannot find any IP addresses in %s", fileName)
return fmt.Errorf("cannot find any IP addresses in %s", fileName)
}
region := strings.TrimSuffix(fileName, ".ovpn")
server := models.PIAServer{
@@ -60,7 +36,54 @@ func findPIAServersFromURL(zipURL string) (servers []models.PIAServer, err error
sort.Slice(servers, func(i, j int) bool {
return servers[i].Region < servers[j].Region
})
return servers, nil
if u.options.Stdout {
u.println(stringifyPIAServers(servers))
}
u.servers.Pia.Timestamp = u.timeNow().Unix()
u.servers.Pia.Servers = servers
return nil
}
func (u *updater) updatePIAOld(ctx context.Context) (err error) {
const zipURL = "https://www.privateinternetaccess.com/openvpn/openvpn.zip"
contents, err := fetchAndExtractFiles(zipURL)
if err != nil {
return err
}
servers := make([]models.PIAServer, 0, len(contents))
for fileName, content := range contents {
remoteLines := extractRemoteLinesFromOpenvpn(content)
if len(remoteLines) == 0 {
return fmt.Errorf("cannot find any remote lines in %s", fileName)
}
hosts := extractHostnamesFromRemoteLines(remoteLines)
if len(hosts) == 0 {
return fmt.Errorf("cannot find any hosts in %s", fileName)
}
var IPs []net.IP
for _, host := range hosts {
newIPs, err := resolveRepeat(ctx, u.lookupIP, host, 3)
if err != nil {
return err
}
IPs = append(IPs, newIPs...)
}
region := strings.TrimSuffix(fileName, ".ovpn")
server := models.PIAServer{
Region: region,
IPs: uniqueSortedIPs(IPs),
}
servers = append(servers, server)
}
sort.Slice(servers, func(i, j int) bool {
return servers[i].Region < servers[j].Region
})
if u.options.Stdout {
u.println(stringifyPIAOldServers(servers))
}
u.servers.PiaOld.Timestamp = u.timeNow().Unix()
u.servers.PiaOld.Servers = servers
return nil
}
func stringifyPIAServers(servers []models.PIAServer) (s string) {

View File

@@ -77,7 +77,7 @@ func (u *updater) UpdateServers(ctx context.Context) (err error) {
}
if u.options.PIAold {
if err := u.updatePIAOld(); err != nil {
if err := u.updatePIAOld(ctx); err != nil {
return err
}
}