From 4b8dc8ded7219bc99710b9282cfe170a225acfc8 Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Wed, 25 Feb 2026 16:02:52 +0000 Subject: [PATCH] fix(privado): update servers data using JSON API - Fixes #3159 - Fixes #2118 - Fixes #2657 --- internal/provider/privado/provider.go | 7 +- .../provider/privado/updater/hosttoserver.go | 50 - internal/provider/privado/updater/location.go | 31 - internal/provider/privado/updater/resolve.go | 26 - internal/provider/privado/updater/servers.go | 89 +- internal/provider/privado/updater/updater.go | 18 +- internal/provider/providers.go | 2 +- internal/storage/servers.json | 2400 ++++++++--------- 8 files changed, 1210 insertions(+), 1413 deletions(-) delete mode 100644 internal/provider/privado/updater/hosttoserver.go delete mode 100644 internal/provider/privado/updater/location.go delete mode 100644 internal/provider/privado/updater/resolve.go diff --git a/internal/provider/privado/provider.go b/internal/provider/privado/provider.go index 1abca4c0..1fb99136 100644 --- a/internal/provider/privado/provider.go +++ b/internal/provider/privado/provider.go @@ -2,6 +2,7 @@ package privado import ( "math/rand" + "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" @@ -15,14 +16,12 @@ type Provider struct { } func New(storage common.Storage, randSource rand.Source, - ipFetcher common.IPFetcher, unzipper common.Unzipper, - updaterWarner common.Warner, - parallelResolver common.ParallelResolver, + client *http.Client, updaterWarner common.Warner, ) *Provider { return &Provider{ storage: storage, randSource: randSource, - Fetcher: updater.New(ipFetcher, unzipper, updaterWarner, parallelResolver), + Fetcher: updater.New(client, updaterWarner), } } diff --git a/internal/provider/privado/updater/hosttoserver.go b/internal/provider/privado/updater/hosttoserver.go deleted file mode 100644 index ce2a38ac..00000000 --- a/internal/provider/privado/updater/hosttoserver.go +++ /dev/null @@ -1,50 +0,0 @@ -package updater - -import ( - "net/netip" - - "github.com/qdm12/gluetun/internal/constants/vpn" - "github.com/qdm12/gluetun/internal/models" -) - -type hostToServer map[string]models.Server - -func (hts hostToServer) add(host string) { - server, ok := hts[host] - if ok { - return - } - server.VPN = vpn.OpenVPN - server.Hostname = host - server.UDP = true - hts[host] = server -} - -func (hts hostToServer) toHostsSlice() (hosts []string) { - hosts = make([]string, 0, len(hts)) - for host := range hts { - hosts = append(hosts, host) - } - return hosts -} - -func (hts hostToServer) adaptWithIPs(hostToIPs map[string][]netip.Addr) { - for host, IPs := range hostToIPs { - server := hts[host] - server.IPs = IPs - hts[host] = server - } - for host, server := range hts { - if len(server.IPs) == 0 { - delete(hts, host) - } - } -} - -func (hts hostToServer) toServersSlice() (servers []models.Server) { - servers = make([]models.Server, 0, len(hts)) - for _, server := range hts { - servers = append(servers, server) - } - return servers -} diff --git a/internal/provider/privado/updater/location.go b/internal/provider/privado/updater/location.go deleted file mode 100644 index 6b985b69..00000000 --- a/internal/provider/privado/updater/location.go +++ /dev/null @@ -1,31 +0,0 @@ -package updater - -import ( - "context" - "net/netip" - - "github.com/qdm12/gluetun/internal/models" - "github.com/qdm12/gluetun/internal/provider/common" - "github.com/qdm12/gluetun/internal/publicip/api" -) - -func setLocationInfo(ctx context.Context, fetcher common.IPFetcher, servers []models.Server) (err error) { - // Get public IP address information - ipsToGetInfo := make([]netip.Addr, 0, len(servers)) - for _, server := range servers { - ipsToGetInfo = append(ipsToGetInfo, server.IPs...) - } - ipsInfo, err := api.FetchMultiInfo(ctx, fetcher, ipsToGetInfo) - if err != nil { - return err - } - - for i := range servers { - ipInfo := ipsInfo[i] - servers[i].Country = ipInfo.Country - servers[i].Region = ipInfo.Region - servers[i].City = ipInfo.City - } - - return nil -} diff --git a/internal/provider/privado/updater/resolve.go b/internal/provider/privado/updater/resolve.go deleted file mode 100644 index e5d341e7..00000000 --- a/internal/provider/privado/updater/resolve.go +++ /dev/null @@ -1,26 +0,0 @@ -package updater - -import ( - "time" - - "github.com/qdm12/gluetun/internal/updater/resolver" -) - -func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { - const ( - maxFailRatio = 0.1 - maxDuration = 30 * time.Second - maxNoNew = 2 - maxFails = 2 - ) - return resolver.ParallelSettings{ - Hosts: hosts, - MaxFailRatio: maxFailRatio, - Repeat: resolver.RepeatSettings{ - MaxDuration: maxDuration, - MaxNoNew: maxNoNew, - MaxFails: maxFails, - SortIPs: true, - }, - } -} diff --git a/internal/provider/privado/updater/servers.go b/internal/provider/privado/updater/servers.go index 9d031fcb..ee3742d6 100644 --- a/internal/provider/privado/updater/servers.go +++ b/internal/provider/privado/updater/servers.go @@ -2,77 +2,66 @@ package updater import ( "context" + "encoding/json" "fmt" + "net/http" + "net/netip" "sort" - "strings" + "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" - "github.com/qdm12/gluetun/internal/updater/openvpn" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { - if !u.ipFetcher.CanFetchAnyIP() { - return nil, fmt.Errorf("%w: %s", common.ErrIPFetcherUnsupported, u.ipFetcher.String()) - } - - const url = "https://privadovpn.com/apps/ovpn_configs.zip" - contents, err := u.unzipper.FetchAndExtract(ctx, url) + const url = "https://privadovpn.com/apps/servers_export.json" + request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { - return nil, err - } else if len(contents) < minServers { - return nil, fmt.Errorf("%w: %d and expected at least %d", - common.ErrNotEnoughServers, len(contents), minServers) + return nil, fmt.Errorf("creating request: %w", err) } - hts := make(hostToServer) - - for fileName, content := range contents { - if !strings.HasSuffix(fileName, ".ovpn") { - continue // not an OpenVPN file - } - - host, warning, err := openvpn.ExtractHost(content) - if warning != "" { - u.warner.Warn(warning) - } - if err != nil { - // treat error as warning and go to next file - u.warner.Warn(err.Error() + " in " + fileName) - continue - } - - hts.add(host) - } - - if len(hts) < minServers { - return nil, fmt.Errorf("%w: %d and expected at least %d", - common.ErrNotEnoughServers, len(hts), minServers) - } - - hosts := hts.toHostsSlice() - resolveSettings := parallelResolverSettings(hosts) - hostToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolveSettings) - for _, warning := range warnings { - u.warner.Warn(warning) - } + response, err := u.client.Do(request) if err != nil { return nil, err } - if len(hostToIPs) < minServers { - return nil, fmt.Errorf("%w: %d and expected at least %d", - common.ErrNotEnoughServers, len(servers), minServers) + var data struct { + Servers []struct { + Country string `json:"country"` + City string `json:"city"` + Hostname string `json:"hostname"` + IP netip.Addr `json:"ip"` + } `json:"servers"` + } + decoder := json.NewDecoder(response.Body) + err = decoder.Decode(&data) + if err != nil { + _ = response.Body.Close() + return nil, fmt.Errorf("decoding JSON response: %w", err) } - hts.adaptWithIPs(hostToIPs) + err = response.Body.Close() + if err != nil { + return nil, fmt.Errorf("closing response body: %w", err) + } - servers = hts.toServersSlice() + if len(data.Servers) < minServers { + return nil, fmt.Errorf("%w: %d and expected at least %d", + common.ErrNotEnoughServers, len(data.Servers), minServers) + } - if err := setLocationInfo(ctx, u.ipFetcher, servers); err != nil { - return nil, err + servers = make([]models.Server, len(data.Servers)) + for i, server := range data.Servers { + servers[i] = models.Server{ + VPN: vpn.OpenVPN, + Country: server.Country, + City: server.City, + Hostname: server.Hostname, + IPs: []netip.Addr{server.IP}, + UDP: true, + } } sort.Sort(models.SortableServers(servers)) diff --git a/internal/provider/privado/updater/updater.go b/internal/provider/privado/updater/updater.go index 2136f8ee..ff0d41cd 100644 --- a/internal/provider/privado/updater/updater.go +++ b/internal/provider/privado/updater/updater.go @@ -1,23 +1,19 @@ package updater import ( + "net/http" + "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { - ipFetcher common.IPFetcher - unzipper common.Unzipper - parallelResolver common.ParallelResolver - warner common.Warner + client *http.Client + warner common.Warner } -func New(ipFetcher common.IPFetcher, unzipper common.Unzipper, - warner common.Warner, parallelResolver common.ParallelResolver, -) *Updater { +func New(client *http.Client, warner common.Warner) *Updater { return &Updater{ - ipFetcher: ipFetcher, - unzipper: unzipper, - parallelResolver: parallelResolver, - warner: warner, + client: client, + warner: warner, } } diff --git a/internal/provider/providers.go b/internal/provider/providers.go index a86b4feb..aea562be 100644 --- a/internal/provider/providers.go +++ b/internal/provider/providers.go @@ -71,7 +71,7 @@ func NewProviders(storage Storage, timeNow func() time.Time, providers.Mullvad: mullvad.New(storage, randSource, client), providers.Nordvpn: nordvpn.New(storage, randSource, client, updaterWarner), providers.Perfectprivacy: perfectprivacy.New(storage, randSource, unzipper, updaterWarner), - providers.Privado: privado.New(storage, randSource, ipFetcher, unzipper, updaterWarner, parallelResolver), + providers.Privado: privado.New(storage, randSource, client, updaterWarner), providers.PrivateInternetAccess: privateinternetaccess.New(storage, randSource, timeNow, client), providers.Privatevpn: privatevpn.New(storage, randSource, unzipper, updaterWarner, parallelResolver), providers.Protonvpn: protonvpn.New(storage, randSource, client, updaterWarner, *credentials.ProtonEmail, *credentials.ProtonPassword), diff --git a/internal/storage/servers.json b/internal/storage/servers.json index 7103a299..ab90b422 100644 --- a/internal/storage/servers.json +++ b/internal/storage/servers.json @@ -250136,12 +250136,191 @@ }, "privado": { "version": 6, - "timestamp": 1761707137, + "timestamp": 1772035302, "servers": [ + { + "vpn": "openvpn", + "country": "Argentina", + "city": "Buenos Aires", + "hostname": "eze-003.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.248.32" + ] + }, + { + "vpn": "openvpn", + "country": "Australia", + "city": "Sydney", + "hostname": "syd-012.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.5.128" + ] + }, + { + "vpn": "openvpn", + "country": "Australia", + "city": "Sydney", + "hostname": "syd-013.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.5.144" + ] + }, + { + "vpn": "openvpn", + "country": "Austria", + "city": "Vienna", + "hostname": "vie-005.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.246.192" + ] + }, + { + "vpn": "openvpn", + "country": "Belgium", + "city": "Brussels", + "hostname": "bru-005.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.240.80" + ] + }, + { + "vpn": "openvpn", + "country": "Belgium", + "city": "Brussels", + "hostname": "bru-006.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.244.128" + ] + }, + { + "vpn": "openvpn", + "country": "Brazil", + "city": "Sao Paulo", + "hostname": "gru-010.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.248.48" + ] + }, + { + "vpn": "openvpn", + "country": "Bulgaria", + "city": "Sofia", + "hostname": "sof-003.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.248.192" + ] + }, + { + "vpn": "openvpn", + "country": "Canada", + "city": "Montreal", + "hostname": "yul-005.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.29.32" + ] + }, + { + "vpn": "openvpn", + "country": "Canada", + "city": "Montreal", + "hostname": "yul-006.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.29.42" + ] + }, + { + "vpn": "openvpn", + "country": "Canada", + "city": "Toronto", + "hostname": "yyz-004.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.31.128" + ] + }, + { + "vpn": "openvpn", + "country": "Canada", + "city": "Toronto", + "hostname": "yyz-005.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.31.144" + ] + }, + { + "vpn": "openvpn", + "country": "Canada", + "city": "Vancouver", + "hostname": "yvr-003.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.29.96" + ] + }, + { + "vpn": "openvpn", + "country": "Canada", + "city": "Vancouver", + "hostname": "yvr-004.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.29.103" + ] + }, + { + "vpn": "openvpn", + "country": "Czech Republic", + "city": "Prague", + "hostname": "prg-003.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.228.16" + ] + }, + { + "vpn": "openvpn", + "country": "Czech Republic", + "city": "Prague", + "hostname": "prg-004.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.228.23" + ] + }, + { + "vpn": "openvpn", + "country": "Denmark", + "city": "Copenhagen", + "hostname": "cph-005.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.240.112" + ] + }, + { + "vpn": "openvpn", + "country": "Denmark", + "city": "Copenhagen", + "hostname": "cph-006.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.244.160" + ] + }, { "vpn": "openvpn", "country": "Estonia", - "region": "Harjumaa", "city": "Tallinn", "hostname": "tll-001.vpn.privado.io", "udp": true, @@ -250152,7 +250331,6 @@ { "vpn": "openvpn", "country": "Estonia", - "region": "Harjumaa", "city": "Tallinn", "hostname": "tll-002.vpn.privado.io", "udp": true, @@ -250163,7 +250341,6 @@ { "vpn": "openvpn", "country": "Estonia", - "region": "Harjumaa", "city": "Tallinn", "hostname": "tll-003.vpn.privado.io", "udp": true, @@ -250174,7 +250351,6 @@ { "vpn": "openvpn", "country": "Estonia", - "region": "Harjumaa", "city": "Tallinn", "hostname": "tll-004.vpn.privado.io", "udp": true, @@ -250184,757 +250360,8 @@ }, { "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "ams-030.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.240.37" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "ams-031.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.240.42" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "ams-032.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.240.47" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "ams-033.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.240.52" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "arn-006.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.72.160" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "arn-007.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.72.168" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "ath-011.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.246.144" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "ath-012.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.246.148" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "bom-007.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.246.64" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "bom-008.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.246.73" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "bru-005.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.240.80" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "bru-006.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.244.128" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "cdg-005.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.72.128" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "cph-005.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.240.112" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "cph-006.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.244.160" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "fra-009.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.237.4" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "fra-010.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.237.21" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "fra-011.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.237.38" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "iev-003.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.64" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "ist-009.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.80" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "kul-014.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.96" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "lhr-060.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.74.30" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "lhr-061.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.74.37" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "lhr-062.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.74.44" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "lhr-063.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.74.51" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "lhr-064.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.74.58" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "lhr-065.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.74.65" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "lju-005.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.112" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "rix-003.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.16" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "rkv-006.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.246.160" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "rkv-007.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.246.167" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "vie-005.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.246.192" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Amsterdam", - "hostname": "waw-065.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.246.224" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Haarlem", - "hostname": "bom-006.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.228.71" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Haarlem", - "hostname": "man-009.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.228.128" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Haarlem", - "hostname": "man-010.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.228.145" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Haarlem", - "hostname": "prg-003.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.228.16" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Haarlem", - "hostname": "prg-004.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.228.23" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Heerhugowaard", - "hostname": "ams-034.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.247.28" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Heerhugowaard", - "hostname": "beg-003.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.240.144" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Heerhugowaard", - "hostname": "beg-004.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.240.151" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Heerhugowaard", - "hostname": "dub-005.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.240.176" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Heerhugowaard", - "hostname": "dub-006.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.240.183" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Heerhugowaard", - "hostname": "jrs-004.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.244.199" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Heerhugowaard", - "hostname": "mad-005.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.244.224" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Heerhugowaard", - "hostname": "mad-006.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.244.232" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Hilversum", - "hostname": "ams-035.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.247.33" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Hilversum", - "hostname": "ams-036.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.247.38" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Hilversum", - "hostname": "ams-037.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.247.43" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Hilversum", - "hostname": "lis-008.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.128" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Hilversum", - "hostname": "mxp-003.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.144" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Hilversum", - "hostname": "osl-004.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.160" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Hilversum", - "hostname": "otp-003.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.176" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Hilversum", - "hostname": "sin-005.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.208" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Hilversum", - "hostname": "sof-003.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.192" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "ber-003.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.72.64" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "bts-003.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.72.192" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "bts-004.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.72.199" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "bud-003.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.72.24" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "cgk-010.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.72.224" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "eze-003.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.32" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "gru-010.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.248.48" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "jnb-010.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.244.96" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "jnb-011.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.244.101" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "jnb-012.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.244.106" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "tia-005.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.245.40" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Medemblik", - "hostname": "zrh-009.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.244.80" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Purmerend", - "hostname": "ath-013.vpn.privado.io", - "udp": true, - "ips": [ - "91.148.228.48" - ] - }, - { - "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Volendam", + "country": "Finland", + "city": "Helsinki", "hostname": "hel-003.vpn.privado.io", "udp": true, "ips": [ @@ -250943,9 +250370,8 @@ }, { "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Volendam", + "country": "Finland", + "city": "Helsinki", "hostname": "hel-004.vpn.privado.io", "udp": true, "ips": [ @@ -250954,31 +250380,38 @@ }, { "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Zaandam", - "hostname": "svo-005.vpn.privado.io", + "country": "France", + "city": "Paris", + "hostname": "cdg-005.vpn.privado.io", "udp": true, "ips": [ - "91.148.228.192" + "81.171.72.128" ] }, { "vpn": "openvpn", - "country": "Netherlands", - "region": "North Holland", - "city": "Zaandam", - "hostname": "svo-006.vpn.privado.io", + "country": "France", + "city": "Paris", + "hostname": "cdg-007.vpn.privado.io", "udp": true, "ips": [ - "91.148.228.209" + "81.171.72.134" ] }, { "vpn": "openvpn", - "country": "Netherlands", - "region": "Utrecht", - "city": "Zeist", + "country": "Germany", + "city": "Berlin", + "hostname": "ber-003.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.72.64" + ] + }, + { + "vpn": "openvpn", + "country": "Germany", + "city": "Berlin", "hostname": "ber-004.vpn.privado.io", "udp": true, "ips": [ @@ -250987,130 +250420,68 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "akl-011.vpn.privado.io", + "country": "Germany", + "city": "Frankfurt", + "hostname": "fra-009.vpn.privado.io", "udp": true, "ips": [ - "85.12.4.160" + "91.148.237.4" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "akl-012.vpn.privado.io", + "country": "Germany", + "city": "Frankfurt", + "hostname": "fra-010.vpn.privado.io", "udp": true, "ips": [ - "85.12.4.168" + "91.148.237.21" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "bkk-003.vpn.privado.io", + "country": "Germany", + "city": "Frankfurt", + "hostname": "fra-011.vpn.privado.io", "udp": true, "ips": [ - "85.12.5.80" + "91.148.237.38" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "bkk-004.vpn.privado.io", + "country": "Greece", + "city": "Athens", + "hostname": "ath-011.vpn.privado.io", "udp": true, "ips": [ - "85.12.5.88" + "91.148.246.144" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "den-017.vpn.privado.io", + "country": "Greece", + "city": "Athens", + "hostname": "ath-012.vpn.privado.io", "udp": true, "ips": [ - "45.38.15.4" + "91.148.246.148" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "dfw-055.vpn.privado.io", + "country": "Greece", + "city": "Athens", + "hostname": "ath-013.vpn.privado.io", "udp": true, "ips": [ - "81.171.60.10" + "91.148.228.48" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "dfw-056.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.60.15" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "dfw-059.vpn.privado.io", - "udp": true, - "ips": [ - "81.171.60.30" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "dfw-064.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.15.192" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "dfw-065.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.15.207" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "dfw-067.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.15.237" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", + "country": "Hong Kong, SAR China", + "city": "Hong Kong", "hostname": "hkg-005.vpn.privado.io", "udp": true, "ips": [ @@ -251119,9 +250490,8 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", + "country": "Hong Kong, SAR China", + "city": "Hong Kong", "hostname": "hkg-006.vpn.privado.io", "udp": true, "ips": [ @@ -251130,9 +250500,138 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", + "country": "Hungary", + "city": "Budapest", + "hostname": "bud-003.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.72.24" + ] + }, + { + "vpn": "openvpn", + "country": "Iceland", + "city": "Reykjavik", + "hostname": "rkv-007.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.246.167" + ] + }, + { + "vpn": "openvpn", + "country": "India", + "city": "Mumbai", + "hostname": "bom-005.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.228.64" + ] + }, + { + "vpn": "openvpn", + "country": "India", + "city": "Mumbai", + "hostname": "bom-006.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.228.71" + ] + }, + { + "vpn": "openvpn", + "country": "India", + "city": "Mumbai", + "hostname": "bom-008.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.246.73" + ] + }, + { + "vpn": "openvpn", + "country": "Indonesia", + "city": "Jakarta", + "hostname": "cgk-010.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.72.224" + ] + }, + { + "vpn": "openvpn", + "country": "Ireland", + "city": "Dublin", + "hostname": "dub-005.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.240.176" + ] + }, + { + "vpn": "openvpn", + "country": "Ireland", + "city": "Dublin", + "hostname": "dub-006.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.240.183" + ] + }, + { + "vpn": "openvpn", + "country": "Israel", + "city": "Jerusalem", + "hostname": "jrs-003.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.244.192" + ] + }, + { + "vpn": "openvpn", + "country": "Italy", + "city": "Milan", + "hostname": "mxp-003.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.248.144" + ] + }, + { + "vpn": "openvpn", + "country": "Italy", + "city": "Milan", + "hostname": "mxp-004.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.239.152" + ] + }, + { + "vpn": "openvpn", + "country": "Japan", + "city": "Tokyo", + "hostname": "nrt-011.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.4.192" + ] + }, + { + "vpn": "openvpn", + "country": "Japan", + "city": "Tokyo", + "hostname": "nrt-012.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.4.200" + ] + }, + { + "vpn": "openvpn", + "country": "Korea (South)", + "city": "Seoul", "hostname": "icn-003.vpn.privado.io", "udp": true, "ips": [ @@ -251141,9 +250640,8 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", + "country": "Korea (South)", + "city": "Seoul", "hostname": "icn-004.vpn.privado.io", "udp": true, "ips": [ @@ -251152,19 +250650,597 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "lax-016.vpn.privado.io", + "country": "Latvia", + "city": "Riga", + "hostname": "rix-003.vpn.privado.io", "udp": true, "ips": [ - "45.38.18.130" + "91.148.248.16" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "California", + "country": "Latvia", + "city": "Riga", + "hostname": "rix-005.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.248.20" + ] + }, + { + "vpn": "openvpn", + "country": "Mexico", + "city": "Mexico City", + "hostname": "mex-011.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.5.192" + ] + }, + { + "vpn": "openvpn", + "country": "Mexico", + "city": "Mexico City", + "hostname": "mex-012.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.5.199" + ] + }, + { + "vpn": "openvpn", + "country": "Mexico", + "city": "Mexico City", + "hostname": "mex-013.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.5.206" + ] + }, + { + "vpn": "openvpn", + "country": "Netherlands", + "city": "Amsterdam", + "hostname": "ams-030.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.236.64" + ] + }, + { + "vpn": "openvpn", + "country": "Netherlands", + "city": "Amsterdam", + "hostname": "ams-031.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.236.70" + ] + }, + { + "vpn": "openvpn", + "country": "Netherlands", + "city": "Amsterdam", + "hostname": "ams-032.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.236.76" + ] + }, + { + "vpn": "openvpn", + "country": "Netherlands", + "city": "Amsterdam", + "hostname": "ams-033.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.236.83" + ] + }, + { + "vpn": "openvpn", + "country": "Netherlands", + "city": "Amsterdam", + "hostname": "ams-034.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.245.64" + ] + }, + { + "vpn": "openvpn", + "country": "Netherlands", + "city": "Amsterdam", + "hostname": "ams-035.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.245.70" + ] + }, + { + "vpn": "openvpn", + "country": "Netherlands", + "city": "Amsterdam", + "hostname": "ams-036.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.245.76" + ] + }, + { + "vpn": "openvpn", + "country": "Netherlands", + "city": "Amsterdam", + "hostname": "ams-037.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.245.82" + ] + }, + { + "vpn": "openvpn", + "country": "New Zealand", + "city": "Auckland", + "hostname": "akl-011.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.4.160" + ] + }, + { + "vpn": "openvpn", + "country": "New Zealand", + "city": "Auckland", + "hostname": "akl-012.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.4.168" + ] + }, + { + "vpn": "openvpn", + "country": "Philippines", + "city": "Manila", + "hostname": "mnl-005.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.5.16" + ] + }, + { + "vpn": "openvpn", + "country": "Philippines", + "city": "Manila", + "hostname": "mnl-006.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.5.24" + ] + }, + { + "vpn": "openvpn", + "country": "Poland", + "city": "Warsaw", + "hostname": "waw-065.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.246.224" + ] + }, + { + "vpn": "openvpn", + "country": "Portugal", + "city": "Lisbon", + "hostname": "lis-008.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.248.128" + ] + }, + { + "vpn": "openvpn", + "country": "Portugal", + "city": "Lisbon", + "hostname": "lis-010.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.248.132" + ] + }, + { + "vpn": "openvpn", + "country": "Russian Federation", + "city": "Moscow", + "hostname": "svo-005.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.228.192" + ] + }, + { + "vpn": "openvpn", + "country": "Russian Federation", + "city": "Moscow", + "hostname": "svo-006.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.228.209" + ] + }, + { + "vpn": "openvpn", + "country": "Serbia", + "city": "Belgrade", + "hostname": "beg-003.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.240.144" + ] + }, + { + "vpn": "openvpn", + "country": "Serbia", + "city": "Belgrade", + "hostname": "beg-004.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.240.151" + ] + }, + { + "vpn": "openvpn", + "country": "Singapore", + "city": "Singapore", + "hostname": "sin-004.vpn.privado.io", + "udp": true, + "ips": [ + "92.119.178.152" + ] + }, + { + "vpn": "openvpn", + "country": "Singapore", + "city": "Singapore", + "hostname": "sin-005.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.248.208" + ] + }, + { + "vpn": "openvpn", + "country": "Slovakia", + "city": "Bratislava", + "hostname": "bts-003.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.72.192" + ] + }, + { + "vpn": "openvpn", + "country": "Slovakia", + "city": "Bratislava", + "hostname": "bts-004.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.72.199" + ] + }, + { + "vpn": "openvpn", + "country": "South Africa", + "city": "Johannesburg", + "hostname": "jnb-010.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.244.96" + ] + }, + { + "vpn": "openvpn", + "country": "South Africa", + "city": "Johannesburg", + "hostname": "jnb-011.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.244.101" + ] + }, + { + "vpn": "openvpn", + "country": "South Africa", + "city": "Johannesburg", + "hostname": "jnb-012.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.244.106" + ] + }, + { + "vpn": "openvpn", + "country": "Spain", + "city": "Madrid", + "hostname": "mad-006.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.244.232" + ] + }, + { + "vpn": "openvpn", + "country": "Sweden", + "city": "Stockholm", + "hostname": "arn-006.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.72.160" + ] + }, + { + "vpn": "openvpn", + "country": "Sweden", + "city": "Stockholm", + "hostname": "arn-007.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.72.168" + ] + }, + { + "vpn": "openvpn", + "country": "Switzerland", + "city": "Zurich", + "hostname": "zrh-009.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.244.80" + ] + }, + { + "vpn": "openvpn", + "country": "Switzerland", + "city": "Zurich", + "hostname": "zrh-010.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.244.88" + ] + }, + { + "vpn": "openvpn", + "country": "Taiwan, Republic of China", + "city": "Taipei", + "hostname": "tsa-015.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.4.96" + ] + }, + { + "vpn": "openvpn", + "country": "Taiwan, Republic of China", + "city": "Taipei", + "hostname": "tsa-016.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.4.104" + ] + }, + { + "vpn": "openvpn", + "country": "Thailand", + "city": "Bangkok", + "hostname": "bkk-003.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.5.80" + ] + }, + { + "vpn": "openvpn", + "country": "Thailand", + "city": "Bangkok", + "hostname": "bkk-004.vpn.privado.io", + "udp": true, + "ips": [ + "85.12.5.88" + ] + }, + { + "vpn": "openvpn", + "country": "Turkey", + "city": "Istanbul", + "hostname": "ist-006.vpn.privado.io", + "udp": true, + "ips": [ + "98.98.131.241" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Atlanta", + "hostname": "atl-008.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.16.4" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Atlanta", + "hostname": "atl-009.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.16.37" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Atlanta", + "hostname": "atl-010.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.16.29" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Atlanta", + "hostname": "atl-011.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.16.56" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Chicago", + "hostname": "ord-093.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.16.128" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Chicago", + "hostname": "ord-094.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.16.144" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Chicago", + "hostname": "ord-095.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.16.160" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Chicago", + "hostname": "ord-096.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.16.176" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Dallas", + "hostname": "dfw-055.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.60.10" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Dallas", + "hostname": "dfw-056.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.60.15" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Dallas", + "hostname": "dfw-059.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.60.30" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Dallas", + "hostname": "dfw-064.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.15.192" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Dallas", + "hostname": "dfw-065.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.15.207" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Dallas", + "hostname": "dfw-067.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.15.237" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Denver", + "hostname": "den-017.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.15.4" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Denver", + "hostname": "den-018.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.15.34" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Detroit", + "hostname": "dtw-009.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.17.4" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Detroit", + "hostname": "dtw-010.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.17.19" + ] + }, + { + "vpn": "openvpn", + "country": "USA", "city": "Los Angeles", "hostname": "lax-017.vpn.privado.io", "udp": true, @@ -251174,8 +251250,7 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "California", + "country": "USA", "city": "Los Angeles", "hostname": "lax-018.vpn.privado.io", "udp": true, @@ -251185,8 +251260,7 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "California", + "country": "USA", "city": "Los Angeles", "hostname": "lax-019.vpn.privado.io", "udp": true, @@ -251196,306 +251270,28 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "California", + "country": "USA", "city": "Los Angeles", - "hostname": "mex-011.vpn.privado.io", + "hostname": "lax-020.vpn.privado.io", "udp": true, "ips": [ - "85.12.5.192" + "45.38.18.150" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "California", + "country": "USA", "city": "Los Angeles", - "hostname": "mex-012.vpn.privado.io", + "hostname": "lax-021.vpn.privado.io", "udp": true, "ips": [ - "85.12.5.199" + "45.38.18.175" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "mex-013.vpn.privado.io", - "udp": true, - "ips": [ - "85.12.5.206" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "mnl-005.vpn.privado.io", - "udp": true, - "ips": [ - "85.12.5.16" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "mnl-006.vpn.privado.io", - "udp": true, - "ips": [ - "85.12.5.24" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "nrt-011.vpn.privado.io", - "udp": true, - "ips": [ - "85.12.4.192" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "nrt-012.vpn.privado.io", - "udp": true, - "ips": [ - "85.12.4.200" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "pdx-033.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.15.128" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "pdx-034.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.15.158" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "sea-023.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.15.64" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "sea-024.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.15.94" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "sfo-009.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.18.4" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "sfo-010.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.18.19" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "sjc-008.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.18.32" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "sjc-009.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.18.47" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "syd-012.vpn.privado.io", - "udp": true, - "ips": [ - "85.12.5.128" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "syd-013.vpn.privado.io", - "udp": true, - "ips": [ - "85.12.5.144" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "tsa-015.vpn.privado.io", - "udp": true, - "ips": [ - "85.12.4.96" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "California", - "city": "Los Angeles", - "hostname": "tsa-016.vpn.privado.io", - "udp": true, - "ips": [ - "85.12.4.104" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "District of Columbia", - "city": "Washington", - "hostname": "dca-096.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.17.128" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "District of Columbia", - "city": "Washington", - "hostname": "dca-097.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.17.161" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "District of Columbia", - "city": "Washington", - "hostname": "dca-098.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.17.194" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "District of Columbia", - "city": "Washington", - "hostname": "dca-099.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.17.227" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "Maryland", - "city": "North Bethesda", - "hostname": "atl-008.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.16.4" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "Maryland", - "city": "North Bethesda", - "hostname": "atl-009.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.16.37" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "Maryland", - "city": "North Bethesda", - "hostname": "jfk-067.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.16.192" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "Maryland", - "city": "North Bethesda", - "hostname": "jfk-068.vpn.privado.io", - "udp": true, - "ips": [ - "45.38.16.207" - ] - }, - { - "vpn": "openvpn", - "country": "United States", - "region": "Maryland", - "city": "North Bethesda", + "country": "USA", + "city": "Miami", "hostname": "mia-007.vpn.privado.io", "udp": true, "ips": [ @@ -251504,9 +251300,8 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "Maryland", - "city": "North Bethesda", + "country": "USA", + "city": "Miami", "hostname": "mia-008.vpn.privado.io", "udp": true, "ips": [ @@ -251515,86 +251310,128 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "Maryland", - "city": "North Bethesda", - "hostname": "ord-093.vpn.privado.io", + "country": "USA", + "city": "New York", + "hostname": "jfk-067.vpn.privado.io", "udp": true, "ips": [ - "45.38.16.128" + "45.38.16.192" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Maryland", - "city": "North Bethesda", - "hostname": "ord-094.vpn.privado.io", + "country": "USA", + "city": "New York", + "hostname": "jfk-068.vpn.privado.io", "udp": true, "ips": [ - "45.38.16.144" + "45.38.16.207" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Maryland", - "city": "North Bethesda", - "hostname": "ord-095.vpn.privado.io", + "country": "USA", + "city": "New York", + "hostname": "jfk-069.vpn.privado.io", "udp": true, "ips": [ - "45.38.16.160" + "45.38.16.201" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Maryland", - "city": "North Bethesda", - "hostname": "ord-096.vpn.privado.io", + "country": "USA", + "city": "New York", + "hostname": "jfk-070.vpn.privado.io", "udp": true, "ips": [ - "45.38.16.176" + "45.38.16.217" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Virginia", - "city": "Ashburn", - "hostname": "dca-086.vpn.privado.io", + "country": "USA", + "city": "Portland", + "hostname": "pdx-033.vpn.privado.io", "udp": true, "ips": [ - "85.12.61.9" + "45.38.15.128" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Virginia", - "city": "Ashburn", - "hostname": "dtw-009.vpn.privado.io", + "country": "USA", + "city": "Portland", + "hostname": "pdx-034.vpn.privado.io", "udp": true, "ips": [ - "45.38.17.4" + "45.38.15.158" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Virginia", - "city": "Ashburn", - "hostname": "dtw-010.vpn.privado.io", + "country": "USA", + "city": "San Francisco", + "hostname": "sfo-009.vpn.privado.io", "udp": true, "ips": [ - "45.38.17.19" + "45.38.18.4" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Virginia", - "city": "Ashburn", + "country": "USA", + "city": "San Francisco", + "hostname": "sfo-010.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.18.19" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "San Jose", + "hostname": "sjc-008.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.18.32" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "San Jose", + "hostname": "sjc-009.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.18.47" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Seattle", + "hostname": "sea-023.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.15.64" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "Seattle", + "hostname": "sea-024.vpn.privado.io", + "udp": true, + "ips": [ + "45.38.15.94" + ] + }, + { + "vpn": "openvpn", + "country": "USA", + "city": "St. Louis", "hostname": "stl-005.vpn.privado.io", "udp": true, "ips": [ @@ -251603,9 +251440,8 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "Virginia", - "city": "Ashburn", + "country": "USA", + "city": "St. Louis", "hostname": "stl-006.vpn.privado.io", "udp": true, "ips": [ @@ -251614,68 +251450,152 @@ }, { "vpn": "openvpn", - "country": "United States", - "region": "Virginia", - "city": "Leesburg", - "hostname": "yul-005.vpn.privado.io", + "country": "USA", + "city": "Washington DC", + "hostname": "dca-096.vpn.privado.io", "udp": true, "ips": [ - "85.12.29.32" + "45.38.17.128" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Virginia", - "city": "Leesburg", - "hostname": "yul-006.vpn.privado.io", + "country": "USA", + "city": "Washington DC", + "hostname": "dca-097.vpn.privado.io", "udp": true, "ips": [ - "85.12.29.42" + "45.38.17.161" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Virginia", - "city": "Leesburg", - "hostname": "yvr-003.vpn.privado.io", + "country": "USA", + "city": "Washington DC", + "hostname": "dca-098.vpn.privado.io", "udp": true, "ips": [ - "85.12.29.96" + "45.38.17.194" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Virginia", - "city": "Leesburg", - "hostname": "yvr-004.vpn.privado.io", + "country": "USA", + "city": "Washington DC", + "hostname": "dca-099.vpn.privado.io", "udp": true, "ips": [ - "85.12.29.103" + "45.38.17.227" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Virginia", - "city": "Leesburg", - "hostname": "yyz-004.vpn.privado.io", + "country": "Ukraine", + "city": "Kyiv", + "hostname": "iev-003.vpn.privado.io", "udp": true, "ips": [ - "85.12.31.128" + "91.148.248.64" ] }, { "vpn": "openvpn", - "country": "United States", - "region": "Virginia", - "city": "Leesburg", - "hostname": "yyz-005.vpn.privado.io", + "country": "United Kingdom", + "city": "London", + "hostname": "lhr-060.vpn.privado.io", "udp": true, "ips": [ - "85.12.31.144" + "81.171.74.30" + ] + }, + { + "vpn": "openvpn", + "country": "United Kingdom", + "city": "London", + "hostname": "lhr-061.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.74.37" + ] + }, + { + "vpn": "openvpn", + "country": "United Kingdom", + "city": "London", + "hostname": "lhr-062.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.74.44" + ] + }, + { + "vpn": "openvpn", + "country": "United Kingdom", + "city": "London", + "hostname": "lhr-063.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.74.51" + ] + }, + { + "vpn": "openvpn", + "country": "United Kingdom", + "city": "London", + "hostname": "lhr-064.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.74.58" + ] + }, + { + "vpn": "openvpn", + "country": "United Kingdom", + "city": "London", + "hostname": "lhr-065.vpn.privado.io", + "udp": true, + "ips": [ + "81.171.74.65" + ] + }, + { + "vpn": "openvpn", + "country": "United Kingdom", + "city": "Manchester", + "hostname": "man-009.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.228.128" + ] + }, + { + "vpn": "openvpn", + "country": "United Kingdom", + "city": "Manchester", + "hostname": "man-010.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.228.145" + ] + }, + { + "vpn": "openvpn", + "country": "United Kingdom", + "city": "Manchester", + "hostname": "man-011.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.228.140" + ] + }, + { + "vpn": "openvpn", + "country": "United Kingdom", + "city": "Manchester", + "hostname": "man-012.vpn.privado.io", + "udp": true, + "ips": [ + "91.148.228.155" ] } ]